加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 04:33:10 所属栏目:Windows 来源:网络整理
导读:如果发生任何错误,我试图找到从FOR循环中断/退出的方法. 以下是批处理文件的内容. @echo onset myfile=D:sample.txtFOR /F "tokens=1,2 delims=," %%i in (%myfile%) do call :process "%%i":processset recfile=%1%echo %recfile%echo "Step in Test1"echo
如果发生任何错误,我试图找到从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
...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读