Ich versuche zu finden, die FOR-Schleife zu brechen/beenden, wenn ein Fehler aufgetreten ist. Unten ist Inhalt der Batch-Datei.Exit in For-Schleife - Windows-Befehlsprozessor (CMD.EXE)
@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 hat mehrere Datensätze. Wenn ein Fehler aufgetreten ist, erwarte ich, die Batch-Datei zu verlassen, anstatt die komplette sample.txt-Datei zu überprüfen. z.B. on-Anweisung echo% recfile%, Wenn ich einen falschen Befehl ech% recfile% was falsch Befehl ist, dann erwarte ich, dass es auf fail1 level gehen und beenden sollte. Es ist der Fehlercode erfolgreich und geht auf fail1 level, aber nach dieser Anweisung wird die Datei sample.txt (next record) erneut überprüft. Gibt es irgendeinen Weg, wenn ich die FOR-Schleife brechen/verlassen kann.
Bitte um Rat.
Danke,
Was 'ENABLEDELAYEDEXPANSION' hier tun, ist zu nennen ?! –