2017-05-05 10 views
-1

に私はこの疑問を持って誰もがそれをコンセプトは、バッチスクリプト

@echo off 
:: take any number between 1 to 1619 it is true 
if ERRORLEVEL == 0 echo There was a problem with the command error returned %errorlevel% 
echo 0 
if ERRORLEVEL == 1 echo There was a problem with the command error returned %errorlevel% 
echo 1 
if ERRORLEVEL == 1619 echo There was a problem with the command error returned %errorlevel% 
echo 1619 
:: greater than 1619 false 
if ERRORLEVEL == 1620 echo There was a problem with the command error returned %errorlevel% 
echo 1620 
if ERRORLEVEL == 658547 echo There was a problem with the command error returned %errorlevel% 
echo 658547 
:: any negative number true 
if ERRORLEVEL == -1620 echo There was a problem with the command error returned %errorlevel% 
echo -1620 
if ERRORLEVEL == -63653 echo There was a problem with the command error returned %errorlevel% 
echo -63653 

なぜこれを説明してください?これの背後にある概念?

+2

それだどちらか 'かの%ERRORLEVEL%== 5'(正確に "5")または'場合はERRORLEVEL 5'( "5" 以上)。もちろん、「if」には「LSS」、「GTR」などがあります。 'if /?'を参照してください。 – Stephan

答えて

0

あなたが実行しているコマンドは=が、それを考慮しない、ここでバッチで標準の区切り文字であるため、if /? output.Andをチェック

if errorlevel 0 echo something 

と同じです。 if errorlevelコマンドは、errorlevelが指定された数値より大きいか等しいかどうかをチェックします。あなたは、正確な比較は、動的変数%errorlevel%でビルドを使用する場合:

if %errorlevel% equ 0 echo something