J'ai un fichier batch qui exécute quelques exécutables, et je veux qu'il se termine en cas de succès, mais arrêtez si le code de sortie <> 0. Comment dois-je procéder?
On dirait que vous voudrez la commande "If Errorlevel". En supposant que votre exécutable retourne un code de sortie différent de 0 en cas d'échec, vous faites quelque chose comme:
myProgram.exe
if errorlevel 1 goto somethingbad
echo Success!
exit
:somethingbad
echo Something Bad Happened.
La vérification du niveau d'erreur est effectuée comme une vérification supérieure ou égale, donc toute valeur de sortie différente de 0 déclenchera le saut. Par conséquent, si vous devez vérifier plusieurs valeurs de sortie spécifiques, vous devez d'abord rechercher la plus élevée.
Vous pouvez également utiliser symboles de traitement conditionnel pour effectuer une simple vérification de réussite/échec. Par exemple:
myProgram.exe && echo Done!
imprimerait Done!
seulement si myProgram.exe
retourné avec le niveau d'erreur 0.
myProgram.exe || PAUSE
entraînerait une pause du fichier de commandes si myProgram.exe renvoie un niveau d'erreur différent de zéro.