Mehrere Befehle in der CMD hintereinander ausführen Effektiver Umgang mit der Befehlszeile in Windows 10/11 und Windows Server

Von Thomas Joos 2 min Lesedauer

Anbieter zum Thema

In der Befehlszeile von „Windows“ ist es möglich, mehrere Befehle hintereinander auszuführen, ähnlich wie in „Linux“. Dazu ist kein Skript notwendig, die Befehle können in einer passenden Syntax hintereinander geschrieben werden.

In der „CMD“ lassen sich Befehle miteinander kombinieren. (Bild:  Thomas Joos)
In der „CMD“ lassen sich Befehle miteinander kombinieren.
(Bild: Thomas Joos)

Wenn zwei Befehle in der „CMD“ hintereinander geschrieben und durch „&“ getrennt werden, führt die Befehlszeile beide Befehle nacheinander auf. Dabei spielt es keine Rolle, ob der erste Befehl erfolgreich war oder einen Fehler erzeugt hat. Beispiel: „ver & systeminfo“. Der Befehl ruft die installierte Windows-Version auf und danach dann gleich das Tool „syteminfo“.

Error-Level und Befehle mit && und Pipe in Kombination

Parallel ist es möglich mit „&&“ zwei Befehle zu kombinieren. In diesem Fall führt Windows den zweiten Befehl erst dann aus, wenn der erste erfolgreich war.

Dazu verwendet Windows den Error-Level in der Befehlszeile. Ein erfolgreicher Befehl liefert den Error-Level „0“ zurück.

Erzeugt ein Befehl einen Fehler, speichert Windows diesen mit dem Wert „1“ der aktuelle Error-Level lässt sich mit „echo %errorlevel%“ in der Befehlszeile anzeigen. Eine weitere Möglichkeit ist die Verwendung des doppelten Pipe-Zeichens (||). In diesem Fall führt Windows den zweiten Befehl nur dann aus, wenn der erste scheitert, also Error-Level „1“ zurückgibt.

Beispiele für die Verwendung von &&, & und ||

Ein Szenario könnte sein, dass zwei Prozesse gleichzeitig gestartet werden sollen. Durch die Eingabe von

echo "Starte Prozess A" & echo "Starte Prozess B"

würde das System beide Ausgaben nahezu simultan verarbeiten, wobei "Starte Prozess A" initiiert und ohne Verzögerung "Starte Prozess B" ausgeführt wird.

Im Kontrast dazu sorgt der &&-Operator für eine bedingte Ausführung, basierend auf dem Erfolg des vorherigen Befehls. Ein Beispiel hierfür wäre die Erstellung eines Verzeichnisses und die anschließende Ausgabe einer Bestätigung, falls die Erstellung erfolgreich war. Die Eingabe von

mkdir /tmp/backupdir && echo "Backup-Verzeichnis erfolgreich erstellt"

resultiert in der Ausgabe der Erfolgsmeldung nur, wenn das Verzeichnis tatsächlich erstellt werden konnte.

Ebenso verhält es sich mit dem ||-Operator, der als bedingte Ausführung bei Misserfolg fungiert. Sollte ein Befehl scheitern, wird der nachfolgende Befehl ausgeführt. Zum Beispiel würde durch

cd /falschesVerzeichnis || echo "Verzeichnis existiert nicht"

eine Fehlermeldung ausgegeben, wenn der Wechsel in das angegebene Verzeichnis nicht möglich ist. Dieser Mechanismus ermöglicht eine effektive Fehlerbehandlung in Skripten oder automatisierten Abläufen.

(ID:49963196)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung