中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求救~~為何會死循環…… 上一主题 | 下一主题
Waterlive
初级用户





积分 52
发帖 21
注册 2007-2-9
状态 离线
『楼 主』:  求救~~為何會死循環……

偶新学批处理
     今天看到FOR循环,起了点念头,写了几句东西~
     功能是:检查所输入路径是否有TXT文件,有则启动命令行~
     写好后试了遍,输入:D:\更新……我在里面新建了个.txt,没问题
     于是,想想,再输入:D:\……结果一直打开cmd.exe,机子跨了~
     D盘虽然有很多的.txt,但不至于如此地步……
     然后尝试换G盘,里面只有1个.txt,结果也跨了~
     所以想问问,我这代码有什么问题麽?为何會出現這情况?

代码如下:
@echo off
echo 輸入路径
set /p p=">>"

for /r "%p%" %%i in (*.txt) do start cmd.exe
昨天發錯地方嘞~

注:上面所说的G盘为备份盘,只有.gho和1个TXT共2个文件,无文件夹

[ Last edited by Waterlive on 2007-5-17 at 12:22 AM ]

2007-5-15 16:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ttyp
初级用户





积分 180
发帖 84
注册 2006-9-7
状态 离线
『第 2 楼』:  

/r 参数是遍历目录,如果你的目录里有N个txt文件,就会执行N次CMD.EXE

2007-5-15 17:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 3 楼』:  

确实是这个问题;
/r的历遍目录不只是历遍你输入的目录;
还包括其中的各层子文件夹;
比如你输入G:\;
历遍的是整个G盘而不仅仅是根目录下

2007-5-15 17:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dikex
高级用户

潜水修练批处理



积分 788
发帖 366
注册 2006-12-31
状态 离线
『第 4 楼』:  

for /r只是一个遍历目录的命令,它本身不会判断的



正在潜水修练的批处理小白
2007-5-15 17:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Waterlive
初级用户





积分 52
发帖 21
注册 2007-2-9
状态 离线
『第 5 楼』:  

看来是我没说清楚了……我说的G盘只有1个TXT文件是整个盘
而不是说根目录底下只有1个!我G盘是备份盘,没文件夹,就个.gho和为了测试这代码而新建的TXT文件。所以才有疑问……

2007-5-17 00:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fengzi
中级用户

金牌会员


积分 315
发帖 152
注册 2007-1-25
状态 离线
『第 6 楼』:  

为什么不
for /r g: %%i in (*.txt) do start cmd.exe
不SET也可以啊`

2007-5-17 12:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 7 楼』:  

于是,想想,再输入:D:\……结果一直打开cmd.exe,机子跨了~

你输入的是D盘,D盘不止一个TXT文件的吧,这样当然会打开许多CMD来.



你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-5-17 19:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Waterlive
初级用户





积分 52
发帖 21
注册 2007-2-9
状态 离线
『第 8 楼』:  

回6楼,我原意是想通过输入路径,然后去搜索,并局限于某个地方……

还有回7楼的……我对你没话说,麻烦你仔细看看前面大家的发言以及我的原贴

2007-5-18 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: