
Die Ausführung meines Befehls dauert lange, aber ich gehe davon aus, dass er mit einem Fehler beendet werden kann, und in diesem Fall möchte ich in der Batch-Schleife schnell scheitern. Wie erzeuge ich die Fehlerstufe?
Ich habe eine Batchdatei mit ausprobiert exit 1
. Aber es schließt das übergeordnete Skript, unabhängig davon, ob es mit call raise_error.bat
oder einfach aufgerufen wird raise_error
.
Ich habe auch versucht cmd /c exit 1
. Dadurch wird das übergeordnete Skript nicht geschlossen, sondern es werden folgende if errorlevel 0 goto exit
und if errorlevel 1 goto exit
beide Verzweigungen zum Beenden ausgeführt. Bei if errorlevel 2 goto exit
oder einer größeren Zahl wird kein vorzeitiger Ausgang verwendet. Wie ist das überhaupt möglich? Ich meine, wie kann ich zwei Fehlerstufen gleichzeitig haben? Schließen sich die Werte einer einzelnen Variable nicht gegenseitig aus?
Wie füge ich den Fehler-Exitcode ein?