web-dev-qa-db-fra.com

Comment vérifier le code de sortie de la dernière commande du fichier batch?

Dans un fichier batch sous Windows, j'utilise 7-Zip comme ceci:

...\right_path\7z a output_file_name.Zip file_to_be_compressed

Comment puis-je vérifier le code de sortie de 7z et prendre les mesures appropriées?

67
Misha Moroshko

Test pour un code retour supérieur ou égal à 1:

if ERRORLEVEL 1 echo Error

ou

if %ERRORLEVEL% GEQ 1 echo Error

ou testez un code retour égal à 0:

if %ERRORLEVEL% EQU 0 echo OK

Vous pouvez utiliser d'autres commandes telles que GOTO où je montre echo.

78

Cela fonctionne vraiment lorsque vous avez: App1.exe appelle -> .bat qui s'exécute -> app2.exe

App2 renvoie errorlevel 1 ... mais vous devez capturer cela dans le fichier .bat et le relancer à app1 ... sinon .bat mange le niveau d'erreur et app1 ne sait jamais.

Méthode:

En .bat:

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

Ceci est une vérification après app2 pour errorlevel. Si> 0, le fichier .bat se ferme et définit le niveau d'erreur sur 1 pour l'app1 appelant.

9
Sam Jones