我有一个Windows批处理文件,其中包含几个子程序,类似于以下内容:
call :a
goto :eof
:a
call :b
goto :eof
:b
:: How do I directly exit here from here?
goto :eof
我正在Vista的cmd窗口中运行此程序。如果我在批处理文件中检测到错误,我希望它以非零错误级别退出。在:b例程中是否有任何可以使批处理文件像这样终止的内容?
- 我尝试了'exit',它关闭了整个cmd窗口。那不是我想要的。
- 我尝试了'exit /B 1'。它返回到上一个例程。为了在每个“call”后使用此方案,我必须仔细编写“if errorlevel 1 exit /B 1”,以将错误传递回调用堆栈。我宁愿不在每个调用后编写此行。
本文很有趣,但是没有一种替代方案能够按照我想要的方式运行。 http://www.computerhope.com/exithlp.htm
还有其他方法吗?
谢谢。