Beschreibt einen Sprachbefehl, mit dem Sie Anweisungslisten (about_If)
# THEMA
about_If
# KURZBESCHREIBUNG
Beschreibt einen Sprachbefehl, mit dem Sie Anweisungslisten
anhand der Ergebnisse eines oder mehrerer bedingter Tests
ausführen können.
# DETAILBESCHREIBUNG
Mit der If-Anweisung können Sie Codeblöcke ausführen, wenn die
angegebene Bedingungsüberprüfung "True" ergibt. Sie können auch
zusätzliche Bedingungsüberprüfungen angeben, die ausgeführt
werden sollen, wenn alle vorherigen Überprüfungen "False" ergeben.
Schließlich können Sie einen zusätzlichen Codeblock angeben, der
ausgeführt wird, wenn keine vorherige Bedingungsüberprüfung "True"
ergibt.
Syntax
Im folgenden Beispiel wird die Syntax der If-Anweisung
veranschaulicht:
if (<Test1>)
{<Anweisungsliste 1>}
[elseif (<Test2>)
{<Anweisungsliste 2>}]
[else
{<Anweisungsliste 3>}]
Wenn Sie eine If-Anweisung ausführen, wird von Windows PowerShell
die Bedingungsüberprüfung <Test1> als "True" oder "False"
ausgewertet. Wenn <Test1> "True" ergibt, wird <Anweisungsliste 1>
ausgeführt, und die If-Anweisung wird von Windows PowerShell beendet.
Wenn <Test1> "False" ergibt, wird von Windows PowerShell die
durch die Bedingungsanweisung <Test2 > angegebene Bedingung
ausgewertet.
Wenn <Test2> "True" ergibt, wird <Anweisungsliste 2> ausgeführt,
und die If-Anweisung wird von Windows PowerShell beendet. Wenn
<Test1> und <Test2> "False" ergeben, wird der Codeblock
<Anweisungsliste 3> ausgeführt, und PowerShell beendet
die If-Anweisung.
Sie können mehrere Elseif-Anweisungen zu einer Folge von
Bedingungsüberprüfungen verketten, sodass jeder Test nur ausgeführt
wird, wenn alle vorherigen Überprüfungen "False" ergeben. Wenn Sie
eine If-Anweisung erstellen müssen, die mehrere Elseif-Anweisungen
enthält, empfiehlt sich stattdessen die Verwendung einer Switch-Anweisung.
Beispiele
Die einfachste If-Anweisung enthält nur einen Befehl im Codeblock
und keine Elseif-Anweisungen oder Else-Anweisungen. Das folgende
Beispiel zeigt die einfachste Form der If-Anweisung:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2."
}
Wenn in diesem Beispiel die Variable "$a" größer als 2 ist, ergibt die
Bedingung "True", und die Anweisungsliste wird ausgeführt. Wenn "$a"
jedoch kleiner oder gleich 2 oder die Variable nicht vorhanden ist,
wird mit der If-Anweisung keine Meldung angezeigt. Durch Hinzufügen
einer Else-Anweisung wird eine Meldung angezeigt, wenn "$a" kleiner
oder gleich 2 ist, wie im folgenden Beispiel gezeigt wird:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2." }
else
{
Write-Host "Der Wert $a ist kleiner oder gleich 2, wurde
nicht erstellt oder nicht initialisiert."
}
Wenn Sie dieses Beispiel weiterentwickeln möchten, können Sie mit
der Elseif-Anweisung eine Meldung anzeigen, wenn der Wert von
"$a" gleich 2 ist, wie im folgenden Beispiel gezeigt wird:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2." }
elseif ($a -eq 2)
{
Write-Host "Der Wert $a ist gleich 2." }
else
{
Write-Host "Der Wert $a ist kleiner als 2, wurde nicht
erstellt oder nicht initialisiert."
}
SIEHE AUCH
about_Comparison_Operators
about_Switch
C:\Windows>powershell get-help about_jobs -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.
about_If
# KURZBESCHREIBUNG
Beschreibt einen Sprachbefehl, mit dem Sie Anweisungslisten
anhand der Ergebnisse eines oder mehrerer bedingter Tests
ausführen können.
# DETAILBESCHREIBUNG
Mit der If-Anweisung können Sie Codeblöcke ausführen, wenn die
angegebene Bedingungsüberprüfung "True" ergibt. Sie können auch
zusätzliche Bedingungsüberprüfungen angeben, die ausgeführt
werden sollen, wenn alle vorherigen Überprüfungen "False" ergeben.
Schließlich können Sie einen zusätzlichen Codeblock angeben, der
ausgeführt wird, wenn keine vorherige Bedingungsüberprüfung "True"
ergibt.
Syntax
Im folgenden Beispiel wird die Syntax der If-Anweisung
veranschaulicht:
if (<Test1>)
{<Anweisungsliste 1>}
[elseif (<Test2>)
{<Anweisungsliste 2>}]
[else
{<Anweisungsliste 3>}]
Wenn Sie eine If-Anweisung ausführen, wird von Windows PowerShell
die Bedingungsüberprüfung <Test1> als "True" oder "False"
ausgewertet. Wenn <Test1> "True" ergibt, wird <Anweisungsliste 1>
ausgeführt, und die If-Anweisung wird von Windows PowerShell beendet.
Wenn <Test1> "False" ergibt, wird von Windows PowerShell die
durch die Bedingungsanweisung <Test2 > angegebene Bedingung
ausgewertet.
Wenn <Test2> "True" ergibt, wird <Anweisungsliste 2> ausgeführt,
und die If-Anweisung wird von Windows PowerShell beendet. Wenn
<Test1> und <Test2> "False" ergeben, wird der Codeblock
<Anweisungsliste 3> ausgeführt, und PowerShell beendet
die If-Anweisung.
Sie können mehrere Elseif-Anweisungen zu einer Folge von
Bedingungsüberprüfungen verketten, sodass jeder Test nur ausgeführt
wird, wenn alle vorherigen Überprüfungen "False" ergeben. Wenn Sie
eine If-Anweisung erstellen müssen, die mehrere Elseif-Anweisungen
enthält, empfiehlt sich stattdessen die Verwendung einer Switch-Anweisung.
Beispiele
Die einfachste If-Anweisung enthält nur einen Befehl im Codeblock
und keine Elseif-Anweisungen oder Else-Anweisungen. Das folgende
Beispiel zeigt die einfachste Form der If-Anweisung:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2."
}
Wenn in diesem Beispiel die Variable "$a" größer als 2 ist, ergibt die
Bedingung "True", und die Anweisungsliste wird ausgeführt. Wenn "$a"
jedoch kleiner oder gleich 2 oder die Variable nicht vorhanden ist,
wird mit der If-Anweisung keine Meldung angezeigt. Durch Hinzufügen
einer Else-Anweisung wird eine Meldung angezeigt, wenn "$a" kleiner
oder gleich 2 ist, wie im folgenden Beispiel gezeigt wird:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2." }
else
{
Write-Host "Der Wert $a ist kleiner oder gleich 2, wurde
nicht erstellt oder nicht initialisiert."
}
Wenn Sie dieses Beispiel weiterentwickeln möchten, können Sie mit
der Elseif-Anweisung eine Meldung anzeigen, wenn der Wert von
"$a" gleich 2 ist, wie im folgenden Beispiel gezeigt wird:
if ($a -gt 2)
{
Write-Host "Der Wert $a ist größer als 2." }
elseif ($a -eq 2)
{
Write-Host "Der Wert $a ist gleich 2." }
else
{
Write-Host "Der Wert $a ist kleiner als 2, wurde nicht
erstellt oder nicht initialisiert."
}
SIEHE AUCH
about_Comparison_Operators
about_Switch
C:\Windows>powershell get-help about_jobs -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.