J'ai un fichier batch qui est un wrapper autour d'un programme d'installation. Ce fichier de commandes vérifie le niveau d'erreur renvoyé par le programme d'installation et s'imprime en conséquence.
J'ai remarqué que si j'exécute set ERRORLEVEL=0
dans une invite de commande juste avant de lancer le fichier de commandes (dans la même fenêtre de commande / environnement), le programme d'installation ne joue jamais avec le niveau d'erreur et mon script de commandes retourne toujours passé. Je suppose que %ERRORLEVEL%
c'est une variable définie par Windows et est utilisée spécifiquement pour imprimer les erreurs des programmes et des scripts et que l'utilisation de la variable dans un fichier de commandes ou autre serait `` à vos risques et périls '' car elle pourrait être modifiée à tout moment par un autre processus.
D'après ce que cela semble être, lorsque je définit errorlevel dans l'environnement donné, cela met fin en quelque sorte à l'utilisation de errorlevel en tant que détenteur du code de sortie. Quelqu'un sait pourquoi c'est comme cela? Pour moi, c'est juste un comportement inattendu bizarre. Toute information sur le sujet serait grandement appréciée!
&&
ou||
.