PowerShell Aufruf von einer Batch-Datei cmd - Errorlevel

Der Aufruf eines PowerShell-Skripts aus der Eingabeaufforderung: cmd oder über eine Batch-Datei kann über die powershell.exe erfolgen. Sollten mehrere PowerShell-Scripts gestartet werden, kann der Exitcode / das ErrorLevel pro Zeile behandelt werden. In der Batch-Datei wird dafür die Variable %errorlevel% verwendet. %errorlevel% enthält den Returncode der zuletzt ausgeführten Zeile:  

Beispiel: Batch-Datei (cmd)

Die folgende Batch-Datei wird für den Aufruf zweier PowerShell-Scripts verwendet: script1.ps1 und script2.ps1. Die beiden Skripts befinden sich im selben Ordner, wie die Batch-Datei, daher werden diese aus dem aktuellen Pfad, in Batch: "%~dp0", gestartet.

  
Inhalt der Beispiel-Batch-Datei: start.cmd:

@echo off
powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -Command %~dp0\script1.ps1
if %errorlevel% GTR 0 exit %errorlevel%
powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -Command %~dp0\script2.ps1
if %errorlevel% GTR 0 exit %errorlevel%
exit 0

PowerShell Skripts:

Sollte das PowerShell-Skript script1.ps1 mit einem "exit 1" beendet werden, wird script2.ps1 in diesem Beispiel nicht mehr ausgeführt und die Batchdatei beendet sich mit dem Errorlevel von script1.ps1. Sollte sich script1.ps1 mit dem Errorlevel 0 (kein Fehler) beenden, wird script2.ps1 ausgeführt, welches wiederum im Fehlerfall die Batchdatei mit dem Errorlevel von script2.ps1 beendet. Sollten beide Skripts keinen Fehler haben, wird die Batchdatei auch mit dem Errorlevel 0 beendet.

 

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!



Fragen / Kommentare


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.