Freigeben über


about_If

Kurze Beschreibung

Beschreibt einen Sprachbefehl, mit dem Sie Anweisungslisten basierend auf den Ergebnissen einer oder mehrerer bedingter Tests ausführen können.

Lange Beschreibung

Sie können die if Anweisung verwenden, um Codeblöcke auszuführen, wenn ein angegebener bedingter Test als wahr ausgewertet wird. Sie können auch einen oder mehrere zusätzliche bedingte Tests angeben, die ausgeführt werden sollen, wenn alle vorherigen Tests als falsch ausgewertet werden. Schließlich können Sie einen zusätzlichen 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>}]

Wenn Sie eine if Anweisung ausführen, wertet PowerShell den <test1> bedingten Ausdruck als wahr oder falsch aus. Ist <test1> "true", <statement list 1> wird ausgeführt, und PowerShell beendet die if Anweisung. Ist <test1> "false" angegeben, wertet PowerShell die durch die <test2> bedingte Anweisung angegebene Bedingung aus.

Weitere Informationen zur booleschen Auswertung finden Sie unter about_Booleans.

Ist <test2> "true", <statement list 2> wird ausgeführt, und PowerShell beendet die if Anweisung. Wenn beide wertet <test1> und <test2> auf "false" ausgewertet wird, wird der><statement list 3Codeblock ausgeführt, und PowerShell beendet die if Anweisung.

Sie können mehrere elseif Anweisungen verwenden, um eine Reihe von bedingten Tests zu verketten. Jeder Test wird nur ausgeführt, wenn alle vorherigen Tests falsch sind. Wenn Sie eine Anweisung erstellen müssen, die viele ifelseif Anweisungen enthält, sollten Sie stattdessen eine Switch-Anweisung verwenden.

Beispiele:

Die einfachste if Anweisung enthält einen einzelnen Befehl und enthält elseif keine 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."
}

Wenn die $a Variable in diesem Beispiel größer 2als ist, wird die Bedingung als "true" ausgewertet, und die Anweisungsliste wird ausgeführt. Wenn $a die Variable jedoch kleiner oder gleich 2 oder nicht vorhanden ist, zeigt die if Anweisung keine Meldung 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.")
}

Um dieses Beispiel weiter zu verfeinern, können Sie die elseif Anweisung verwenden, um eine Meldung anzuzeigen, wenn der Wert $a gleich 2ist. 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.")
}

Weitere Informationen