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,