gpt4 book ai didi

batch-file - IF 内的 ERRORLEVEL

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

刚刚用 %ERRORLEVEL% 偶然发现了一件奇怪的事情并想看看是否有人知道原因以及是否有办法解决它。本质上,似乎在 if 语句中执行的命令没有设置 %ERRORLEVEL%多变的。 ERRORLEVEL (如 IF ERRORLEVEL 1 ,与 IF %ERRORLEVEL% EQU 1 不同)检查似乎仍然可以正常工作,所以我可能可以解决它,但能够打印错误级别仍然很好。用于调试或其他。

@echo off
Set TESTVAR=1

tasklist | find /I "IsntRunning.exe" > NUL
echo OUTSIDE_IF %ERRORLEVEL%

ThisWillSetErrorLevelTo9009ieNotRecognizedCommand

tasklist | find /I "IsntRunning.exe" > NUL
echo OUTSIDE_IF %ERRORLEVEL%

ThisWillSetErrorLevelTo9009ieNotRecognizedCommand

IF %TESTVAR% EQU 1 (
Set ERRORLEVEL=
tasklist | find /I "IsntRunning.exe" > NUL
echo INSIDE_IF ERRORLEVEL %ERRORLEVEL%

IF ERRORLEVEL 1 (
echo INSIDE_IF2 ERRORLEVEL GREQ 1 %ERRORLEVEL%
)
IF ERRORLEVEL 2 (
echo INSIDE_IF2 ERRORLEVEL GREQ 2 %ERRORLEVEL%
)
IF ERRORLEVEL 3 (
echo INSIDE_IF2 ERRORLEVEL GREQ 3 %ERRORLEVEL%
)
)

tasklist | find /I "IsntRunning.exe" > NUL
echo OUTSIDE_IF ERRORLEVEL %ERRORLEVEL%

@echo on

将其放入批处理文件并运行它会产生以下输出:

C:\Users\username\Documents\work>test.bat
OUTSIDE_IF 1
'ThisWillSetErrorLevelTo9009ieNotRecognizedCommand' is not recognized as an internal or external command, operable program or batch file.
OUTSIDE_IF 1
'ThisWillSetErrorLevelTo9009ieNotRecognizedCommand' is not recognized as an internal or external command, operable program or batch file.
INSIDE_IF ERRORLEVEL 9009
INSIDE_IF2 ERRORLEVEL GREQ 1 9009
OUTSIDE_IF ERRORLEVEL 1



相关文章:
  • http://blogs.msdn.com/b/oldnewthing/archive/2008/09/26/8965755.aspx
  • http://support.microsoft.com/kb/69576
  • 最佳答案

    尝试使用 setlocal enabledelayedexpansion在批处理文件的开头,和 !ERRORLEVEL!在您的 IF 内.这似乎对我有用:

    @echo off
    setlocal enabledelayedexpansion
    dir nul
    echo %ERRORLEVEL%
    if .1.==.1. (
    urklbkrlksdj - not a command
    echo %ERRORLEVEL%
    echo !ERRORLEVEL!
    )

    关于batch-file - IF 内的 ERRORLEVEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4367930/

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