Korrigieren Sie testen Vorrang der Batch-Datei ERRORLEVELs

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Zusammenfassung

Wenn mehrere Anweisungen IF ERRORLEVEL in Stapelverarbeitungsdateien verwenden, gilt die Reihenfolge in der die ERRORLEVELs numerisch getestet werden. Die Reihenfolge Absteigend (höchster zu niedrigster). Diese Reihenfolge ist gegenüber ERRORLEVELs getestet werden. Die IF-Bedingung wird auf TRUE festgelegt, wenn die gleich oder größer als die ERRORLEVEL Nummer ist.

Weitere Informationen

Das folgende Fragment einer Batch-Datei veranschaulicht dies falsch:

   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

Im obige Beispiel Zweigniederlassungen immer die Bezeichnung "NULL" unabhängig von Erfolg oder fehlschlagen. In diesem Beispiel funktioniert ordnungsgemäß, ERRORLEVEL testen erfolgte in absteigender Reihenfolge.


Richtig so eine Batchdatei schreiben lautet wie folgt:
   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

Eigenschaften

Artikelnummer: 39585 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback