So beenden Sie ein batch-Programm auf Fehler?

Habe ich eine batch-Datei, die mehrere Dinge. Wenn einer von Ihnen ausfällt, möchte ich zum beenden des gesamten Programms. Zum Beispiel:

@echo off
type foo.txt 2>> error.txt >> success.txt
mkdir bob

Wenn die Datei foo.txt nicht gefunden wird, dann möchte ich die stderr-Nachricht angehängt error.txt Datei, sonst wird der Inhalt von foo.txt angehängt success.txt. Grundsätzlich, wenn der type-Befehl gibt einen stderr, dann möchte ich die batch-Datei zum beenden und nicht erstellen Sie ein neues Verzeichnis. Wie können Sie sagen, wenn ein Fehler aufgetreten ist, und entscheiden, ob Sie weiterhin müssen, um den nächsten Befehl oder nicht?

  • Ich habe den code Hinzugefügt, WENN NICHT ERRORLEVEL 0 EXIT /B echo %errorlevel% vor dem mkdir bob Befehl, aber unabhängig vom Wert der ERRORLEVEL (d.h. 0 oder 1) das Verzeichnis ist noch erstellt. Also im Grunde, ERRORLEVEL gesetzt wird, mit einem anderen Wert, ob der type-Befehl die Datei findet oder nicht, aber das Programm nicht beenden. Gedanken?
Schreibe einen Kommentar