Exit in For-Schleife - Windows Command Processor (CMD.EXE)

Ich versuche, einen Weg zu finden, um die FOR-Schleife zu unterbrechen / zu verlassen, wenn ein Fehler aufgetreten ist. Unten ist der Inhalt der Batch-Datei.

@echo on

set myfile=D:\sample.txt

FOR /F "tokens=1,2 delims=," %%i in (%myfile%) do call :process "%%i"

:process
set recfile=%1%

echo %recfile%
echo "Step in Test1"
echo %errorlevel%
pause;

exit /B 0
If %errorlevel% NEQ 0 goto :fail1

:fail1
echo "Step in fail1"
pause;
exit /B 9993

:EOF

Sample.txt verfügt über mehrere Datensätze. Wenn ein Fehler aufgetreten ist, erwarte ich, dass ich die Batch-Datei beende und dann die vollständige sample.txt-Datei überprüfe. z.B. on-Anweisung echo% recfile%, Wenn ich einen falschen Befehl ech% recfile% eingebe, der ein falscher Befehl ist, erwarte ich, dass er auf die Stufe fail1 wechselt und beendet wird. Es hat den Fehlercode erfolgreich catured und geht auf Fail1-Level. Nach dieser Anweisung wird jedoch die sample.txt-Datei (nächster Datensatz) erneut überprüft. Gibt es eine Möglichkeit, wenn ich die FOR-Schleife unterbrechen / verlassen kann.

Bitte um Rat.

Vielen Dank,

Antworten auf die Frage(3)

Ihre Antwort auf die Frage