Code retour ERRORLEVEL différent suivant mode lancement [BATCH MS-DOS] - Shell/Batch - Programmation
Marsh Posté le 30-11-2016 à 09:48:56
Je viens de trouver une piste.
En lançant mon .bat dans une invite de commande MS-DOS après y avoir fait un set ERRORLEVEL=1, cela fonctionne.
Cela veut donc dire que dans mon .bat, quand je teste la valeur de ERRORLEVEL via mon IF, il se réfère à cette variable dans l'environnement de l'invite de commande (que j'ai positionné à 1) et non dans l'environnement de mon .bat où le code retour de mon .exe est bien différent.
Il doit donc y avoir un moyen d'isoler tout ça. Une idée, svp ?
Marsh Posté le 29-11-2016 à 16:56:29
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):
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.
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.
Est-ce que vous auriez une idée, svp ?
Merci.
Message édité par Le Taz le 29-11-2016 à 17:05:04