中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 04:47
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于字符路径变短路径的问题
可打印版本  926 / 5
第1楼 bd123456789 发表于 2008-10-25 12:45
中级用户 发帖 216 积分 360
关于字符路径变短路径的问题
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楼 tireless 发表于 2008-10-25 13:17
银牌会员 发帖 1,122 积分 2,025
我执行你的第一条命令,显示的也是:

C:\PROGRA~1\MICROS~1\OFFICE11\ipmom\InfoPath.exe.config
第3楼 everest79 发表于 2008-10-25 15:37
金牌会员 发帖 1,127 积分 2,564
utf-8
第4楼 everest79 发表于 2008-10-25 15:38
金牌会员 发帖 1,127 积分 2,564
InfoPath8888.exe.config=infopa~1.con,要是前边没有相同文件
第5楼 youkaib 发表于 2008-10-25 17:38
初级用户 发帖 22 积分 61
这个是只扩充路径。你查看你的for用法就知道了。
第6楼 bd123456789 发表于 2008-10-27 08:55
中级用户 发帖 216 积分 360
多谢楼上各位

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

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

不甚理解??

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

也不甚理解??

可能太笨了点吧
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023