中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 12:38
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结案]连续两次嵌套for执行错误
可打印版本  764 / 6
第1楼 wangyc 发表于 2010-03-25 22:18
新手上路 发帖 11 积分 13
[已结案]连续两次嵌套for执行错误


上面的例子,最下边的两个for在执行的时候都提示错误,不知道处于这里的for语句应该注意哪些细节的问题?

[ Last edited by wangyc on 2010-3-26 at 14:39 ]
第2楼 slore 发表于 2010-03-25 22:51
铂金会员 发帖 2,478 积分 5,212
dir *.exe /b>exelst.txt

你最好给出列表
第3楼 lovelymorning 发表于 2010-03-25 22:52
初级用户 发帖 72 积分 131
findstr /i "-V"'

findstr 后面那个东西。。 -V 。。。。会被解析成 findstr 的一个参数。。。

也就变成 findstr 有两个参数,一个是 /i 一个是 -v。。。。。。但少了一个参数。。就是 findstr 的内容是什么。。。没这个参数,所以就报错了。。。


- 是一个特殊符号。。。至少,在findstr这里算做是。。。如果真要找这个内容,必须使用 \ 来转义。。让 - 变成一个普通的字符才行


findstr /i "\-V" 这样才是正确的。。。。
第4楼 wangyc 发表于 2010-03-25 23:03
新手上路 发帖 11 积分 13
确实是这个问题,findstr /i "\-V"就没有问题
在此谢谢楼上的两位
第5楼 pdanniel66 发表于 2010-03-26 06:13
初级用户 发帖 64 积分 68
(1) LZ可否贴出最后正确所有完整语法 ?
(2) 若问题已解决,标题注明[已结案]
第6楼 wangyc 发表于 2010-03-26 14:41
新手上路 发帖 11 积分 13
楼上提醒的是,下面是正确的代码:

第7楼 Hanyeguxing 发表于 2010-03-26 15:07
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
尽量少使用过多的for嵌套,以你的批处理,可以发挥findstr的表达式查找功能,例如查找XPSX-X-VX(X代表若干任意字符),可以直接写成findstr /i ".*ps.*\-.*\-V.*",不需要多此解析多次使用findstr。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023