在脚本开头的 bash 中“set -e”指示 bash 在内部任何命令第一次失败时使整个脚本失败。
如何对 Windows 批处理脚本执行相同操作?
Tuim 的解决方案有效,但它可以变得更简单。
ERRORLEVEL 已设置,因此无需转到设置 ERRORLEVEL 的标签。
你可以简单地使用
yourCommand || exit /b
请注意,如果您处于 CALL 中间,exit /b 只会退出当前子例程。您的脚本必须逐层退出每个 CALL,直到到达脚本的根目录。只要您还在每个 CALL 语句之后进行测试,这就会自动发生
call :label || exit /b
可以强制批处理脚本立即从任何 CALL 深度退出。请参阅如何从函数中退出批处理文件?了解更多信息。请务必阅读两个答案。公认的答案有几个潜在的严重缺陷。
不是直接的,但您可以将以下内容添加到要执行的每一行。
|| goto :error
然后定义错误,停止脚本。
:error
exit /b %errorlevel%