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

Come controllare il codice di uscita dell'ultimo comando nel file batch?

All'interno di un file batch su Windows, uso 7-zip come questo:

...\right_pathz a output_file_name.zip file_to_be_compressed

Come posso controllare il codice di uscita di 7z e prendere l'azione appropriata?

Risposte (2)

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

Test per un codice di ritorno maggiore o uguale a 1:

if ERRORLEVEL 1 echo Error

o

if %ERRORLEVEL% GEQ 1 echo Error

o test per un codice di ritorno uguale a 0:

if %ERRORLEVEL% EQU 0 echo OK

Puoi usare altri comandi come GOTO dove mostro echo.

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

Questo funziona davvero quando hai: App1.exe chiama -> .bat che esegue –> app2.exe

App2 restituisce errorlevel 1… ma è necessario catturarlo nel .bat e rilanciarlo a app1… altrimenti .bat mangia l'errorlevel e app1 non lo saprà mai.

Metodo:

In .bat:

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

Questo è un controllo dopo app2 per l'errorlevel. Se > 0, allora il .bat esce e imposta errorlevel a 1 per l'app1 chiamante.