Коригиране на тестване предимство на пакетен файл ERRORLEVELs

Отказ от отговорност за оттеглено съдържание на БЗ

Тази статия е написана за продукти, за които Microsoft вече не предлага поддръжка. Ето защо тази статия се предлага „както е“ и вече няма да бъде актуализирана.

Резюме

Когато използвате няколко ако ERRORLEVEL отчети пакетни файлове, последователността, в която са тествани ERRORLEVELs цифрово е важно. Правилната последователност е низходящ (най-високата до най-ниската). Подредбата е от начина, по който ERRORLEVELs са тествани. Ако състоянието е установен в TRUE, когато ERRORLEVEL е равен или по-голям брой ERRORLEVEL.

Допълнителна информация

Следните партида файл фрагмент демонстрира това НЕПРАВИЛНО поведение:

   rem (execute a program which returns an errorlevel of 0 or 1)   if errorlevel 0 goto ZERO
if errorlevel 1 goto ONE
goto END
:ZERO
echo a Zero was returned!
goto END
:ONE
echo a One was returned!
:END

По-горе пример винаги клонове "Нула" етикет, независимо от успешното или неуспешното протичане. Този пример ще работи правилно, ако ERRORLEVEL тестване е направено в низходящ ред.


ПРАВИЛНИЯ начин за запис на пакетен файл е както следва:
   rem (execute a program which returns an errorlevel of 0 or 1)   if errorlevel 1 goto ONE
if errorlevel 0 goto ZERO
goto END
:ZERO
echo a Zero was returned!
goto END
:ONE
echo a One was returned!
:END

Свойства

ИД на статията: 39585 – Последен преглед: 16.01.2017 г. – Редакция: 1

Обратна връзка