中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 19:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于字符路径变短路径的问题
楼 主 关于字符路径变短路径的问题 发表于 2008-10-25 12:45 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
UID 89677
性别 男
状态 离线
for /f "delims=" %%a in ("C:\Program Files\Microsoft Office\OFFICE11\ipmom\InfoPath.exe.config") do @echo %%~sa
pause

能够正常读取
C:\PROGRA~1\MICROS~2\OFFICE11\ipmom\INFOPA~1.CON

修改一下:加几个88888
for /f "delims=" %%a in ("C:\Program Files\Microsoft Office\OFFICE11\ipmom\InfoPath88888.exe.config") do @echo %%~sa
pause
结果
C:\PROGRA~1\MICROS~2\OFFICE11\ipmom\InfoPath8888.exe.config

怎么最后InfoPath8888.exe.config→没有变短?

是不是我对短路径理解有问题?
即只有实际存在的路径才能....

再来:(手动添加一个实际存在的路径)
我在上面的路径下加了一个网页路径,即
for /f "delims=" %%a in ("C:\Program Files\Microsoft Office\OFFICE11\ipmom\直接从USB-CDROM一键把GHO系统克隆到第一硬盘第一分区之DIY - USB启动区 - 启动盘制作技术区 - 无忧启动论坛 - Powered by Discuz!") do @echo %%~sa
pause
结果最后的文件名(网页文件名)也没有正常显示成短路径,不知是怎么回事?
2 发表于 2008-10-25 13:17 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
UID 96653
性别 男
状态 离线
我执行你的第一条命令,显示的也是:

C:\PROGRA~1\MICROS~1\OFFICE11\ipmom\InfoPath.exe.config
3 发表于 2008-10-25 15:37 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
utf-8
49206C6F766520796F752067757973 54656C3A3133383238343036373837
4 发表于 2008-10-25 15:38 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
UID 74552
性别 男
状态 离线
InfoPath8888.exe.config=infopa~1.con,要是前边没有相同文件
49206C6F766520796F752067757973 54656C3A3133383238343036373837
5 发表于 2008-10-25 17:38 ·  中国 江西 南昌 电信
初级用户
积分 61
发帖 22
注册 2008-10-19 17:15
UID 128768
性别 男
状态 离线
这个是只扩充路径。你查看你的for用法就知道了。
6 发表于 2008-10-27 08:55 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
UID 89677
性别 男
状态 离线
多谢楼上各位

可是,for 的解释是这样的:

%~sI - 扩充的路径只含有短名

不甚理解??

InfoPath8888.exe.config=infopa~1.con,要是前边没有相同文件

也不甚理解??

可能太笨了点吧
论坛跳转: