注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» [已解决]批处理for命令的文件扩展没有结果
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
caruko
发短消息
加为好友
caruko
当前离线
UID
20369
帖子
643
精华
1
积分
2335
PB
2175
技术
50
捐助
0
阅读权限
70
在线时间
336 小时
注册时间
2009-12-2
最后登录
2023-7-30
中校
帖子
643
积分
2335
技术
50
捐助
0
注册时间
2009-12-2
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 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 编辑
]
1
评分人数
Batcher:
感谢主动给标题标注[已解决]字样
PB + 2
收藏
分享
x9tiancmd
发短消息
加为好友
x9tiancmd
当前离线
UID
11594
帖子
152
精华
0
积分
599
PB
593
技术
2
捐助
0
阅读权限
30
在线时间
112 小时
注册时间
2009-4-9
最后登录
2018-6-3
少尉
帖子
152
积分
599
技术
2
捐助
0
注册时间
2009-4-9
2
楼
发表于 2010-3-23 17:57
|
只看该作者
要把 /R 参数去掉
/R 参数是指定FOR 的操作目录
你都把FOR 的操作目录指定了, 你现在又想想看, 他能找到C:\windows\123.txt 吗????!!!
总之一句话, 不带/R 参数,操作当前目录, 代支持微软设技的小鞋(%~$变量:i) , 带/R 参数, 就是指定死了目录
1
评分人数
Batcher:
乐于助人
PB + 3
╭╩═╮
╭╯G O ╠ 雁过留声
╰⊙═⊙╯
TOP
caruko
发短消息
加为好友
caruko
当前离线
UID
20369
帖子
643
精华
1
积分
2335
PB
2175
技术
50
捐助
0
阅读权限
70
在线时间
336 小时
注册时间
2009-12-2
最后登录
2023-7-30
中校
帖子
643
积分
2335
技术
50
捐助
0
注册时间
2009-12-2
3
楼
发表于 2010-3-23 21:15
|
只看该作者
原来如此...
多谢2楼!!!
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]