ERRORLEVEL 条件
ERRORLEVEL conditions
这个逻辑不应该将 0 和 1 错误级别发送到 'mailerror' 子例程并在它们是 0 或 1 错误时简单地退出吗?
IF %ERRORLEVEL% NEQ 0 (
IF %ERRORLEVEL% NEQ 1 (
SET BODY="exit error code from Backup of RAD file = %ERRORLEVEL%."
goto mailerror
)
) ELSE (
EXIT
)
首先,您不需要所有这些括号。此外,您当前正在测试错误级别 0
,然后是 1
,但是您的 else
位于错误的位置,因此 errorlevel 1
子句将不执行任何操作(不退出):
这将在 errorlevel 0
和 errorlevel 1
上测试并退出操作
@echo off
if %errorlevel% neq 0 if %errorlevel% neq 1 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
echo %body%
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
但是看到你想做除错误级别 0
和 1
之外的任何事情,你可以简单地做 set if %errorlevel%
greater than 1
(换句话说不是 0
或 1
):
@echo off
if %errorlevel% GTR 1 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
根据 @Stephan 的评论。一些罕见的程序会产生负错误级别,如果是这种情况,第一个选项就可以,或者这个:
@echo off
if %errorlevel% GTR 1 if %errorlevel% lss 0 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
如果错误是 0
或 1
:
,您的问题措辞表明您想要 Exit
IF %ERRORLEVEL% GEQ 0 IF %ERRORLEVEL% LEQ 1 EXIT /B
REM MAILERROR CODE BELOW HERE
这个逻辑不应该将 0 和 1 错误级别发送到 'mailerror' 子例程并在它们是 0 或 1 错误时简单地退出吗?
IF %ERRORLEVEL% NEQ 0 (
IF %ERRORLEVEL% NEQ 1 (
SET BODY="exit error code from Backup of RAD file = %ERRORLEVEL%."
goto mailerror
)
) ELSE (
EXIT
)
首先,您不需要所有这些括号。此外,您当前正在测试错误级别 0
,然后是 1
,但是您的 else
位于错误的位置,因此 errorlevel 1
子句将不执行任何操作(不退出):
这将在 errorlevel 0
和 errorlevel 1
@echo off
if %errorlevel% neq 0 if %errorlevel% neq 1 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
echo %body%
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
但是看到你想做除错误级别 0
和 1
之外的任何事情,你可以简单地做 set if %errorlevel%
greater than 1
(换句话说不是 0
或 1
):
@echo off
if %errorlevel% GTR 1 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
根据 @Stephan 的评论。一些罕见的程序会产生负错误级别,如果是这种情况,第一个选项就可以,或者这个:
@echo off
if %errorlevel% GTR 1 if %errorlevel% lss 0 (
set BODY="exit error code from Backup of RAD file = %errorlevel%."
goto mailerror
)
exit
:mailerror
echo %BODY%
echo do something else..
如果错误是 0
或 1
:
Exit
IF %ERRORLEVEL% GEQ 0 IF %ERRORLEVEL% LEQ 1 EXIT /B
REM MAILERROR CODE BELOW HERE