标题:
[其他]
[已解决]批处理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