Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 错误级别条件_Batch File_Conditional Statements_Errorlevel - Fatal编程技术网

Batch file 错误级别条件

Batch file 错误级别条件,batch-file,conditional-statements,errorlevel,Batch File,Conditional Statements,Errorlevel,该逻辑是否应该将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 ) 首先,您不需要所有这些括号。此外,您当前正在测试error

该逻辑是否应该将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
 )

首先,您不需要所有这些括号。此外,您当前正在测试errorlevel
0
1
,但是您的
else
位于错误的位置,因此
errorlevel 1
子句将不起任何作用(不退出):

这将在
errorlevel0
errorlevel1

@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..
但是,如果您想执行除errorlevel
0
1
以外的任何操作,您只需执行set if
%errorlevel%
大于
1
(换句话说,不是
0
1
):

根据他的评论。一些罕见的程序会生成负错误级别,如果是这种情况,则第一个选项可以,或者:

@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
,您的问题措辞建议您退出

@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..
IF%ERRORLEVEL%GEQ 0 IF%ERRORLEVEL%LEQ 1退出/B
下面是错误代码

如果%ErrorLevel%Gtr 1
,您是否在寻找
?(
如果错误级别为2
)。顺便说一句,错误级别
0
不是我所说的错误,它通常是成功的<代码>如果不是错误级别1
通常用于识别
0
错误级别
,其中RAS
如果错误级别1
通常用于确定任何未成功的错误,即错误。否。
else
子句仅指外部
if
条件。因此
0
%ErrorLevel%
导致
退出
,而
1的
%ErrorLevel%
则不会导致任何操作!所有其他值,包括负值,都会导致跳转到例程
:mailerror
。注意:某些(罕见)程序会返回负值ErrorLevel,因此可能还需要考虑这一点。