Lorsqu'une commande interne ou un programme externe se termine, il renvoie un résultat appelé code de sortie. Lescommandes conditionnelles vous permettent d'effectuer des tâches en fonction du code de sortie de la commande précédente . De nombreux programmes renvoient 0 s'ils réussissent et une valeur non nulle s'ils rencontrent une erreur.
Opérateur AND &&
Si vous séparez deux commandes par && (AND), la deuxième commande ne sera exécutée que si le code de sortie de la première commande est 0. Par exemple, la commande suivante n'effacera les fichiers que si l'opération BACKUP réussit :
backup c:\ a : && del c:\*.bak;*.lst
Opérateur OR ||
Si vous séparez deux commandes par ||(OR), la seconde commande ne sera exécutée que si le code de sortie de la première commande est différent de zéro . Par exemple, si l'opération BACKUP suivante échoue, ECHO affichera un message :
backup c:\ a : || echo Erreur dans la sauvegarde !
Toutes les commandes internes renvoient un code de sortie, mais ce n'est pas le cas de tous les programmes externes . Les commandes conditionnelles se comporteront de manière imprévisible si vous les utilisez avec des programmes externes qui ne renvoient pas de code de sortie explicite. Pour déterminer si un programme externe particulier renvoie un code de sortie significatif , utilisez la commande ECHO % ? immédiatement après la fin du programme. Si la documentation du programme ne mentionne pas le code de sortie, vous devrez peut-être expérimenter diverses conditions pour voir comment le code de sortie change.