gpt4 book ai didi

batch-file - .bat 文件中嵌套的 %errorlevel% 的错误值

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

我写了一个 .bat 文件来首先运行一个程序,如果它正确完成我运行另一个程序并检查它的返回值。

first-program.exe
IF "%ERRORLEVEL%"=="0" (
second-program.exe
IF "%ERRORLEVEL%"=="0" (
ECHO OK
) ELSE (
ECHO NOK
)
)

但是第二个%ERRORLEVEL%总是等于第一个,它没有设置为second-program.exe的返回值。

最佳答案

%ERRORLEVEL% 的两个实例都在同一代码块中,因此 两者 在第一个实例更新时获得它们的值。考虑使用 enabledelayedexpansion 启用变量的延迟扩展,并将 %ERRORLEVEL% 替换为 !ERRORLEVEL! 以单独更新每个实例。例如:

@echo off
setlocal enabledelayedexpansion
first-program.exe
IF "!ERRORLEVEL!"=="0" (
second-program.exe
IF "!ERRORLEVEL!"=="0" (
ECHO OK
) ELSE (
ECHO NOK
)
)
endlocal

关于batch-file - .bat 文件中嵌套的 %errorlevel% 的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50348437/

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