标题: 请问如何退出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
多谢楼上两位的解答~~