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!

Veröffentlichung: 16.09.2021 von Bernhard 🔔


Top-Artikel in diesem Bereich


sleep oder wait in Batch Dateien: pause cmd
Die Funktion wait oder sleep war in BATch Dateien standardmĂ€ĂŸig nicht vorhanden.Abhilfe schafft ein kleiner Umweg ĂŒber den ping Command

Windows PowerShell Skript erstellen und ausfĂŒhren
Im einfachsten Fall ist ein PowerShell-Skript eine Textdatei mit einer Reihe von PowerShell-Befehlen. Als PowerShell Skript versteht man eine Datei mit der Endung .ps1. Die Skriptdatei kann eine Sammlung von Befehlen, Funktionen oder Cmdlets enthalten.

Aufbau einer Batch Datei Syntax: echo off cmd
Wer eine Batch-Datei angelegt hat, kann in jede Zeile einen Befehl schreiben, siehe: wie erstelle ich eine Batch Datei - Grundlagen. Die Befehle werden beim Starten der Datei der Reihe nach ausgefĂŒhrt. Das Verhalten der Ausgabe kann wie folgt angepasst werden.

Fragen / Kommentare