about_If

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_If

KURZE BESCHREIBUNG

Beschreibt einen Sprachbefehl, den Sie verwenden können, um Anweisungslisten basierend auf den Ergebnissen von einem oder mehreren bedingten Tests auszuführen.

LANGE BESCHREIBUNG

Sie können die If-Anweisung verwenden, um Codeblöcke auszuführen, wenn ein angegebener bedingter Test als „true“ ausgewertet wird. Sie können auch einen oder mehrere zusätzliche bedingte Tests angeben, die ausgeführt werden, wenn alle vorherigen Tests als „false“ ausgewertet werden. Schließlich können Sie einen zusätzliche Codeblock angeben, der ausgeführt wird, wenn kein anderer vorheriger bedingter Test als „true“ ausgewertet wird.

SYNTAX

Das folgende Beispiel zeigt die Syntax der If-Anweisung:

        if (<test1>) 
            {<statement list 1>}
        [elseif (<test2>)
            {<statement list 2>}]
        [else
            {<statement list 3>}]

Beim Ausführen einer If-Anweisung wertet Windows PowerShell® den bedingten Ausdruck <test1> als „true“ oder „false“ aus. Bei der Auswertung von <test1> als „true“ wird <statement list 1> ausgeführt, und Windows PowerShell beendet die If-Anweisung. Bei der Auswertung von <test1> als „false“ wertet Windows PowerShell die durch <test2> angegebene bedingte Anweisung aus.

Bei der Auswertung von <test2> als „true“ wird <statement list 2> ausgeführt, und Windows PowerShell beendet die If-Anweisung. Wenn sowohl <test1> als auch <test2> als „false“ ausgewertet werden, wird der Codeblock <statement list 3> ausgeführt, und Windows PowerShell beendet die If-Anweisung.

Sie können mehrere Elseif-Anweisungen verwenden, um eine Reihe von bedingten Tests zu verketten, sodass jeder Test nur dann ausgeführt wird, wenn alle vorherigen Tests als „false“ ausgewertet werden. Wenn Sie eine If-Anweisung erstellen müssen, die viele Elseif-Anweisungen enthält, sollten Sie stattdessen die Verwendung einer Switch-Anweisung in Erwägung ziehen.

Beispiele

Die einfachste If-Anweisung enthält einen einzelnen Befehl enthält und keine Elseif-Anweisungen oder Else-Anweisungen. Das folgende Beispiel zeigt die einfachste Form der If-Anweisung:

        if ($a -gt 2)
        {
            Write-Host "The value $a is greater than 2."
        }

In diesem Beispiel wird die bedingte Variable als „true“ ausgewertet, wenn die $a-Variable größer als 2 ist, und die Anweisungsliste wird ausgeführt. Wenn jedoch $a kleiner oder gleich 2 ist oder keine vorhandene Variable ist, zeigt die If-Anweisung keine Nachricht an. Durch Hinzufügen einer Else-Anweisung wird eine Meldung angezeigt, wenn $a kleiner oder gleich 2 ist, wie das nächste Beispiel zeigt:

        if ($a -gt 2)
        {
            Write-Host "The value $a is greater than 2."
        }
        else
        {
            Write-Host "The value $a is less than or equal to 2, is not 
        created or is not initialized."
        }

Zur weiteren Verfeinerung dieses Beispiels können Sie die Elseif-Anweisung verwenden, um eine Meldung anzuzeigen, wenn der Wert von $a gleich 2 ist, wie das nächste Beispiel zeigt:

        if ($a -gt 2)
        {
            Write-Host "The value $a is greater than 2."
        }
        elseif ($a -eq 2)
        {
            Write-Host "The value $a is equal to 2."
        }
        else
        {
            Write-Host "The value $a is less than 2 or was not created 
        or initialized."
        }

SIEHE AUCH

about_Comparison_Operators

about_Switch