Ich habe eine Batch-Datei, die mehrere Dinge tut. Wenn einer von ihnen fehlschlägt, möchte ich das gesamte Programm beenden. Zum Beispiel:Wie wird ein Stapelprogramm bei einem Fehler beendet?
@echo off
type foo.txt 2>> error.txt >> success.txt
mkdir bob
Wenn die Datei foo.txt nicht gefunden wird, dann mag ich die stderr-Nachricht an die error.txt Datei angehängt, sonst wird der Inhalt von foo.txt angehängt wird auf success.txt. Wenn der Befehl type ein stderr zurückgibt, möchte ich die Batchdatei beenden und kein neues Verzeichnis erstellen. Wie können Sie feststellen, ob ein Fehler aufgetreten ist und entscheiden, ob Sie mit dem nächsten Befehl fortfahren müssen oder nicht?
Ich habe den Code WENN NICHT ERRORLEVEL 0 EXIT/B Echo% Errorlevel% vor dem Mkdir Bob Befehl, aber unabhängig von der Wert von ERRORLEVEL (d.h. 0 oder 1) Das Verzeichnis wird noch erstellt. Im Grunde wird ERRORLEVEL mit einem anderen Wert gesetzt, egal ob der Befehl type die Datei findet oder nicht, aber das Programm wird nicht beendet. Gedanken? – Notorious2tall