Fehlerbehandlung im Batch-Skript

MD Aminul Islam 20 März 2023
Fehlerbehandlung im Batch-Skript

Jede Skript- und Programmiersprache enthält einen Error-Handler, so wie Java try-catch zur Fehlerbehandlung enthält. In einem Batch-Skript gibt es dafür keine direkte Möglichkeit, aber wir können im Batch-Skript eine Fehlerbehandlungsroutine erstellen, indem wir eine integrierte Variable mit dem Namen des Batch-Skripts %ERRORLEVEL% verwenden.

Dieser Artikel zeigt, wie wir ein Batch-Skript erstellen können, um Fehler und Ausfälle zu behandeln. Außerdem gehen wir auf einige Beispiele ein, die das Thema erleichtern.

Fehlerbehandlung im Batch-Skript

Wenn ein Befehl erfolgreich ausgeführt wird, gibt er immer einen EXIT CODE zurück, der angibt, ob der Befehl erfolgreich ausgeführt wurde oder nicht ausgeführt werden konnte. Um also eine Fehlerbehandlung in einer Batch-Datei zu erstellen, können wir diesen EXIT CODE in unserem Programm verwenden.

Sie können dem folgenden allgemeinen Format folgen, um einen Fehlerhandler zu erstellen:

@Echo off
SomeCommand && (
  ECHO Message for Success
) || (
  ECHO Message for Failure or Error
)

Wir können dies auch tun, indem wir die Variable mit dem Namen %ERRORLEVEL% überprüfen. Wenn die Variable einen Wert ungleich 0 enthält, liegt möglicherweise ein Problem oder Fehler bei der Ausführung des Befehls vor. Um die Variable %ERRORLEVEL% zu testen, können Sie den folgenden Beispielcodes folgen:

@ECHO off
Some Command Here !!!
IF %ERRORLEVEL% NEQ 0 (Echo Error found when running the command &Exit /b 1)

Beachten Sie, dass das Schlüsselwort NEQ Ungleich bedeutet. Und die Variable %ERRORLEVEL% enthält nur dann einen Wert ungleich Null, wenn es ein Problem oder einen Fehler im Code gibt.

Ein Beispiel, das Fehler enthält

Unten haben wir ein Beispiel geteilt. Wir werden eine Batch-Datei mit dem Namen Your_file.bat von einem Speicherort aus ausführen.

Wir haben diese Datei absichtlich aus dem Verzeichnis entfernt. Es ist also ein Fehlerbefehl.

Der Code für unser Beispiel lautet:

@echo off
ECHO Running a Batch file
CD G:\BATCH\
CALL Your_file.bat
IF  errorlevel 1 GOTO ERROR
ECHO The file run successfully.
GOTO EOF

:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1

:EOF

Da die Datei jetzt nicht im Verzeichnis vorhanden ist, wird ein Fehler angezeigt, und Sie erhalten die folgende Ausgabe, wenn Sie den oben freigegebenen Code ausführen.

Ausgang:

Running a Batch file
The system cannot find the path specified.
'Your_file.bat' is not recognized as an internal or external command,
operable program or batch file.
The file didn't run successfully.

Ein fehlerfreies Codebeispiel, das erfolgreich ausgeführt wird

Im obigen Beispiel haben wir absichtlich einen Fehler im Code gemacht, um zu verstehen, wie der Code funktioniert. Wenn wir es wie folgt korrigieren:

@echo off
ECHO Running a Batch file
CALL "G:\BATCH\Yourfile.bat"
IF  errorlevel 1 GOTO ERROR
ECHO The file runs successfully.
GOTO EOF

:ERROR
ECHO The file didn't run successfully.
CMD /k
EXIT /b 1

:EOF

Dann erhalten wir eine Ausgabe wie diese:

Running a Batch file
This is from the first file
The file runs successfully.

Denken Sie daran, dass alle hier besprochenen Befehle nur für die Windows-Eingabeaufforderung oder die CMD-Umgebung gelten.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - Batch Error