gpt4 book ai didi

batch-file - 如何使批处理文件在遇到错误时终止?

转载 作者:行者123 更新时间:2023-12-03 04:04:22 25 4
gpt4 key购买 nike

我有一个批处理文件,它使用不同的参数一遍又一遍地调用相同的可执行文件。如果其中一个调用返回任何级别的错误代码,如何使其立即终止?

基本上,我想要相当于 MSBuild 的 ContinueOnError=false

最佳答案

检查if语句中的errorlevel,然后exit/b(退出batch文件仅针对 0 以外的值,而不是整个 cmd.exe 进程。

same-executable-over-and-over.exe /with different "parameters"
if %errorlevel% neq 0 exit /b %errorlevel%

如果您希望错误级别的值传播到批处理文件之外

if %errorlevel% neq 0 exit /b %errorlevel%

但如果这是在 for 内,那就有点棘手了。您需要更多类似的东西:

setlocal enabledelayedexpansion
for %%f in (C:\Windows\*) do (
same-executable-over-and-over.exe /with different "parameters"
if !errorlevel! neq 0 exit /b !errorlevel!
)

编辑:您必须在每个命令后检查错误。 cmd.exe/command.com 批处理中没有全局“错误转到”类型的构造。我还根据 CodeMonkey 更新了我的代码,尽管我在 XP 或 Vista 上的任何批处理黑客攻击中从未遇到过负错误级别。

关于batch-file - 如何使批处理文件在遇到错误时终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com