Board logo

标题: 请问如何退出for语句 [打印本页]

作者: er11     时间: 2006-8-23 22:47    标题: 请问如何退出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 ]

作者: namejm     时间: 2006-8-23 22:56
for /f "delims=: tokens=1,2" %%i in ('findstr /n . file.txt') do if "%%i"=="150" echo %%j & pause && goto 某个标签

作者: bagpipe     时间: 2006-8-24 13:03
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 ]

作者: er11     时间: 2006-8-25 14:59
多谢楼上两位的解答~~