![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 00:31 |
共 48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请问如何退出for语句 |
| 可打印版本 1,431 / 3 |
| 第1楼 er11 | 发表于 2006-08-23 22:47 |
| 新手上路 发帖 2 积分 8 | |
|
请问如何退出for语句 请问:在文件中找到所需要的行后,如何退出for语句
例如,有一个很长的文件,比如几千多行的文件file.txt, 用for语句: …… for /f "delims=: tokens=1,2" %%i in ('findstr /n . file.txt') do if "%%i"=="150" echo %%j pause …… 要求修改后:一旦找到并显示150行的内容后,就退出for,执行后续语句。 如果不退出,可能后面还有几千行等着搜索,效率低下。 这个具体问题只是个例子,不是主要目的, 主要目的是想知道 有没有方法退出for循环。 [ Last edited by er11 on 2006-8-23 at 22:48 ] |
|
| 第2楼 namejm | 发表于 2006-08-23 22:56 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
for /f "delims=: tokens=1,2" %%i in ('findstr /n . file.txt') do if "%%i"=="150" echo %%j & pause && goto 某个标签
|
|
| 第3楼 bagpipe | 发表于 2006-08-24 13:03 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
for /f "delims=: tokens=1,2" %%i in ('findstr /n . file.txt') do if "%%i"=="150" echo %%j &exit /b
for /f "delims=: tokens=1,2" %%i in ('findstr /n . file.txt') do if "%%i"=="150" echo %%j &goto :eof 对于楼主的要求,这样也是可以的 [ Last edited by bagpipe on 2006-8-24 at 13:06 ] |
|
| 第4楼 er11 | 发表于 2006-08-25 14:59 |
| 新手上路 发帖 2 积分 8 | |
|
多谢楼上两位的解答~~
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |