Board logo

标题: 在长目录名下用bat查找并打开文件 [打印本页]

作者: uforange     时间: 2010-3-31 20:14    标题: 在长目录名下用bat查找并打开文件

大家好!
   环境是在xp系统cmd下的,我用 for /f %%i in ('dir/s/b/a-d c:\a.bat') do (start "" "%%i")  在一般情况下是得的。。。。


但是 当a.bat在桌面是就打开不了。。在论坛搜索了很多相关的东西,都自己解决不了,知道的朋友请帮一下。在这里先谢谢啦!!

[ Last edited by uforange on 2010-3-31 at 20:17 ]
作者: Hanyeguxing     时间: 2010-3-31 21:03

for /f "delims=" %%i in ('dir/s/b/a-d c:\a.bat') do (start "" "%%i")
不要犯这样低级的错误,应该这样写

for/f 的几个默认值:
eol=c 默认是以;开头的,即使不使用eol=,也是如此
delims=xxx 默认是空格和制表符,即使不使用delims=,也是如此
tokens=x,y,m-n 默认是1,即使不使用tokens=,也是如此


for {%variable|%%variable} in (set) do command [ CommandLineOptions]
无论for使用什么形式,(set)中都是以空格,制表符和英文逗号以及英文分号进行分隔的(在for /f中仅以空格,制表符分隔)。


因为本地路径名首个字符不可能是;,所以这里可以不用强行指定eol=为空

[ Last edited by Hanyeguxing on 2010-3-31 at 21:22 ]