Windows 批处理等效于 bash 的 set -e

asm*_*rer 8 windows bash batch-file

是否有相当于 bash 的 Windows 批处理set -e,如果命令以非零退出状态失败(除了在if语句中预期的地方),它会导致 shell 立即退出?if errorlevel 1 exit 1在每一行之后我都会很累。

Jos*_*efZ 2

要使用 & 字符作为命令分隔符在命令提示符行上指定多个命令:

dir & pause
Run Code Online (Sandbox Code Playgroud)

使用另外两个命令分隔符有条件地执行命令。如果使用双与号 (&&) 分隔两个命令,则仅当第一个命令成功运行时才会执行第二个命令:

dir && pause
Run Code Online (Sandbox Code Playgroud)

如果使用双杠 (||) 作为命令分隔符,则仅当第一个命令失败时才会执行第二个命令:

dir Nonsensual-mix || pause
Run Code Online (Sandbox Code Playgroud)

因此你可以使用下一步:

your_command || exit 1
Run Code Online (Sandbox Code Playgroud)

  • 我知道这是一个有用的实现,但是是否存在不修改可能失败的每一行就无法实现的解决方案? (2认同)