2010-10-01 04:47:03 +0000 2010-10-01 04:47:03 +0000
71
71

Wie kann man den Exit-Code des letzten Befehls in der Batch-Datei überprüfen?

Innerhalb einer Batch-Datei unter Windows verwende ich 7-zip wie folgt:

...\right_pathz a output_file_name.zip file_to_be_compressed

Wie kann ich den Exit-Code von 7z überprüfen und die entsprechenden Maßnahmen ergreifen?

Antworten (2)

83
83
83
2010-10-01 04:58:39 +0000

Testen Sie auf einen Rückgabecode größer oder gleich 1:

if ERRORLEVEL 1 echo Error

oder

if %ERRORLEVEL% GEQ 1 echo Error

oder testen Sie auf einen Rückgabecode gleich 0:

if %ERRORLEVEL% EQU 0 echo OK

Sie können auch andere Befehle verwenden, wie z. B. GOTO, wobei ich echo zeige.

10
10
10
2013-04-19 05:07:33 +0000

Dies funktioniert wirklich, wenn Sie haben: App1.exe ruft -> .bat auf, die –> app2.exe ausführt

App2 gibt Errorlevel 1 zurück… aber Sie müssen das in der .bat abfangen und an app1 zurückgeben… sonst frisst .bat den Errorlevel und app1 erfährt es nie.

Methode:

In der .bat:

app2.exe
if %ERRORLEVEL% GEQ 1 EXIT /B 1

Dies ist eine Prüfung nach app2 auf Errorlevel. Wenn > 0, dann beendet sich die .bat und setzt errorlevel auf 1 für die aufrufende app1.