命令行 – 在For循环中退出 – Windows命令处理器(CMD.EXE)

前端之家收集整理的这篇文章主要介绍了命令行 – 在For循环中退出 – Windows命令处理器(CMD.EXE)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果发生任何错误,我试图找到从FOR循环中断/退出方法.
以下是批处理文件内容.
@echo on

set myfile=D:\sample.txt

FOR /F "tokens=1,2 delims=," %%i in (%myfile%) do call :process "%%i"

:process
set recfile=%1%

echo %recfile%
echo "Step in Test1"
echo %errorlevel%
pause;

exit /B 0
If %errorlevel% NEQ 0 goto :fail1

:fail1
echo "Step in fail1"
pause;
exit /B 9993

:EOF

Sample.txt有多条记录.如果发生任何错误,那么我希望退出批处理文件,而不是检查完整的sample.txt文件.例如声明
echo%recfile%,如果我放置了一些错误的命令ech%recfile%,这是不正确的命令,那么我期待它应该进入fail1级别并退出.它成功地捕获了错误代码并进入fail1级别,但是在此声明之后,它再次检查sample.txt文件(下一条记录).有什么办法,如果我可以打破/退出FOR循环.

请指教.

谢谢,

乔伊的回答很棒.我成功地使用了它.我发现你不必退出脚本.您可以使用goto:SomeLabel,其中:SomeLabel是循环外的标签.
FOR /F "tokens=1," %%i in (%myfile%) do (
  if defined exit goto :ParseError
  call :process "%%i"
)

@echo SUCCESS: %myfile%
goto :RestOfScript

:ParseError
@echo FAILURE: cannot parse %myfile%
@echo Using defaults...

:RestOfScript
...

猜你在找的Windows相关文章