J'ai un fichier batch qui fait plusieurs choses. Si l'un d'eux échoue, je veux quitter l'ensemble du programme. Par exemple:Comment quitter un programme batch en cas d'erreur?
@echo off
type foo.txt 2>> error.txt >> success.txt
mkdir bob
Si le fichier foo.txt ne se trouve pas alors je veux que le message stderr ajouté au fichier error.txt, sinon le contenu de foo.txt est joint en annexe à success.txt. Fondamentalement, si la commande type renvoie une erreur stderr, je veux que le fichier de commandes sorte et ne crée pas un nouveau répertoire. Comment pouvez-vous dire si une erreur s'est produite et décider si vous devez passer à la commande suivante ou non?
J'ai ajouté le code SI NON ERRORLEVEL 0 EXIT/B echo% errorlevel% avant la commande mkdir bob, mais quel que soit le valeur de ERRORLEVEL (c.-à-d. 0 ou 1) le répertoire est toujours créé. Donc, fondamentalement, ERRORLEVEL est défini avec une valeur différente si la commande type trouve le fichier ou non, mais le programme ne se ferme pas. Pensées? – Notorious2tall