中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for命令让人纠结啊....for /f 中用type遇到麻烦了!
作者:
标题: for命令让人纠结啊....for /f 中用type遇到麻烦了! 上一主题 | 下一主题
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『楼 主』:  for命令让人纠结啊....for /f 中用type遇到麻烦了!

在cmd中运行了这么一段命令
for /f %i in ('dir/s/-d *.txt') do type %~fi>d:\pichuli.txt
刷了一版的"系统无法找到指定文件"

for /f %i in ('dir/s/-d *.txt') do echo %~fi
又显示了一版的正确的完整路径
后来想想用截取字符过滤
for /f %i in ('dir/s/-d') do if %%i:~-3%==txt type %i>d:\pichuli.txt
显示的是%路径名+:~-3%==txx type 路径名
也不像是变量延迟的问题?

for命令中看来水很深啊,哪位在这方面造诣深厚的顺手解答一下,不胜感激~



人生有如此多东西值得去学!
2009-6-9 11:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sady2009
初级用户





积分 58
发帖 60
注册 2009-2-18
状态 离线
『第 2 楼』:  

可用for /r
for /r . %a in (*.txt) do @type %a>>d:\pichuli.txt

2009-6-9 11:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『第 3 楼』:  

试了不行,现在的问题是%~fi有些不能扩展到完整的路径,当前目录下如果还有文件夹中有txt文件,echo %~fi 仅显示当前目录+文件名.txt
%%i:~-3%无法显示的问题我一筹莫展,希望哪位解答一下!



人生有如此多东西值得去学!
2009-6-10 01:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 4 楼』:  

%%i 不是现实变量.
所以%%i:~-3%绝对不成功

for /f %i in ('dir/s/-d *.txt') do type %~fi>d:\pichuli.txt
Dir加个/b参数

2009-6-10 07:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 5 楼』:  


for /f "delims=" %i in ('dir/a-d/b/s *.txt') do type "%i">d:\pichuli.txt
[ Last edited by tireless on 2009-6-10 at 09:35 ]

2009-6-10 09:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『第 6 楼』:  

tireless的命令确实很有用,这个问题解决了,但是%%i:~-3%无法准确替换的问题谁帮着解决一下?



人生有如此多东西值得去学!
2009-6-10 12:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 7 楼』:  

在%PATH:str1=str2%中,要求PATH必须为变量名,而for 在解析的时候,直接将%%i:~-3%解析成%文件名:~-3%,所以不能截取字符



批处理之家 http://bbs.bathome.net/forum-5-1.html
2009-6-10 21:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jlty258
初级用户




积分 37
发帖 34
注册 2009-4-13
状态 离线
『第 8 楼』:  

原来如此,谢谢了



人生有如此多东西值得去学!
2009-6-11 03:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 9 楼』:  

应先把 %%i 赋给一个变量



2009-6-11 07:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: