无忧启动论坛
标题:
非常重要的经验分享:判断有空格的目录必须注意的问题!!!!!
[打印本页]
作者:
歌理
时间:
2008-5-2 00:11
标题:
非常重要的经验分享:判断有空格的目录必须注意的问题!!!!!
上这个论坛的人,都 会用到 如 IF EXIST [path] filename 或者 copy 命令 ,我就碰到过不能正确执行的时候,为什么呢?
我的命令如下:
if exist %cd%\test.bat copy %cd%\test.bat d:\
(%CD%为当前目录,实际使用时为文件所在目录)
我的批命令就是这个test.bat,可执行时,有时正确,有时不正确,例如,将test.bat复制到c:\program files目录下时,执行肯定不正确,
这个情况在XP或VISTA都一样,而在其他目录执行正确,为什么呢????
试试了几回,才发现,是c:\program files这个目录存在空格!!!,IF exist、copy等命令有时候对空格执行时会出现错误!!
正确的用法是:
if EXIST "%CD%"\test.bat copy "%CD%"\test.bat d:\
即有可能存在空格的文件全路径有理无理都用“”引起来就不会错,好象在什么地方见过这个提示的,
但是稍不注意,写批命令时刚好所在的目录没有空格,运行正常,当放到有空格的目录时,就会出错,还不知道错在什么地方!!!(我的命令就是放到program files后才发现的)
希望大家注意!
作者:
haiou327
时间:
2008-5-2 00:15
有空格目录或文件名必须用
“ ”
括起来,program files最好是用短目录名,PROG~1这种格式,在命令行下路径都可以用
“ ”
来括起来。
[
本帖最后由 haiou327 于 2008-5-2 11:04 PM 编辑
]
作者:
netwinxp
时间:
2008-5-2 00:16
长文件名要加引号,这很多人都清楚
作者:
jonson_qf
时间:
2008-5-2 00:19
知道的了,不过还是多谢楼主分享。
其实有时候对于还不知道的,为了弄清楚一个问题是很艰难的,所以,如果大家都把自己的经验分享一点点,那么大家反而学到的会更多
作者:
lianjiang
时间:
2008-5-2 06:14
支持楼上的观点。
温故而知新。
作者:
dddiiiyyy
时间:
2008-5-2 08:56
文件名或目录名只要有空格,哪怕长度符合8.3规则(比如:a b.exe),在DOS下引用都要加引号,否则空格后面的字符会当作参数处理,导致出错
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3