Board logo

标题: [其他] [已解决]批处理for命令的文件扩展没有结果 [打印本页]

作者: caruko    时间: 2010-3-23 13:29     标题: [已解决]批处理for命令的文件扩展没有结果

FOR的文件名扩展中有一个是 %~$path:i

FOR /S 的说明是
%~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩充
               到找到的第一个完全合格的名称。如果环境变量名
               未被定义,或者没有找到文件,此组合键会扩充到
               空字符串

$path 表示路径环境变量,这个我理解,比如 %~$homedir , %~$windir 都是正确的,但是输出结果肯本看不出有什么不同..
比如说当前 D:\TEST 目录下有个 123.txt文件,再在%windir%=c:\windows 下也建一个123.txt,
那么按字面意思是也就是会把C;\WINDOWS下的123.txt文件显示出来
d:\test>for /r %i in (*.txt) do echo %~$windir:i
后结果却没什么不同啊。。

[ 本帖最后由 caruko 于 2010-3-23 21:14 编辑 ]
作者: x9tiancmd    时间: 2010-3-23 17:57

要把 /R  参数去掉

/R  参数是指定FOR 的操作目录

你都把FOR  的操作目录指定了,   你现在又想想看, 他能找到C:\windows\123.txt  吗????!!!

总之一句话, 不带/R 参数,操作当前目录, 代支持微软设技的小鞋(%~$变量:i)  , 带/R 参数, 就是指定死了目录
作者: caruko    时间: 2010-3-23 21:15

原来如此...
多谢2楼!!!




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2