Bonjour à tous,
Je m'arrache les cheveux depuis quelques heures sur un problème de valeur du code %ERRORLEVEL% au niveau d'un script .bat.
Pour faire simple, j'ai un fichier .bat qui lance une application en .exe.
Je récupère ensuite le code retour du lancement de cette application pour donner ce même code retour à mon .bat.
J'ai donc mon .bat (je vous montre la version simple ici):
Code :
- rem Lancement de la duplication
- set /A errcode=0
- MonApplication.exe param1 param2 param3
- rem On teste le code retour
- IF %ERRORLEVEL% EQU 0 (SET errcode=%ERRORLEVEL% && echo "TERMINE OK." ) ELSE (SET errcode=%ERRORLEVEL% && echo "KO." )
- echo %errcode%
- rem exit /B %errcode%
|
Quand je lance MonApplication.exe avec des paramètres farfelues directement dans une invite de commande via le menu démarrer > exécuter > cmd, le echo %errcode% renvoit bien une erreur avec le code retour 4.
Code :
- c:\Toolkit\>MonApplication.exe param1 param2 param3
- c:\Toolkit\>echo %ERRORLEVEL%
- 4
|
Par contre, quand je passe directement par le .bat, le code retour est toujours 0 (zéro) avec le echo "TERMINE OK", et je ne comprends pas pourquoi.
Code :
- c:\Toolkit>MonBatch.bat param1 param2 param3
- c:\Toolkit>echo off
- "TERMINE OK."
- 0
|
Est-ce que vous auriez une idée, svp ?
Merci.
Message édité par Le Taz le 29-11-2016 à 17:05:04