about_While
Kurze Beschreibung
Beschreibt eine Sprachanweisungen, die Sie verwenden können, um einen Befehlsblock basierend auf den Ergebnissen eines bedingten Tests auszuführen.
Lange Beschreibung
Die while
-Anweisung (auch als while
Schleife bezeichnet) ist ein Sprachkonstrukt zum Erstellen einer Schleife, die Befehle in einem Befehlsblock ausführt, solange ein bedingter Test als true ausgewertet wird. Die while
-Anweisung ist einfacher zu konstruieren als eine For-Anweisung, da ihre Syntax weniger kompliziert ist. Darüber hinaus ist sie flexibler als die Foreach-Anweisung, da Sie einen bedingten Test in der while
-Anweisung angeben, um zu steuern, wie oft die Schleife ausgeführt wird.
Im Folgenden wird die Syntax der While-Anweisung veranschaulicht:
while (<condition>){<statement list>}
Wenn Sie eine while
-Anweisung ausführen, wertet PowerShell den <condition>
Abschnitt der Anweisung aus, bevor Sie den <statement list>
Abschnitt eingeben. Der Bedingungsteil der Anweisung wird entweder in true oder false aufgelöst. Solange die Bedingung zutrifft, wird der <statement list>
Abschnitt von PowerShell erneut ausgeführt. Weitere Informationen zur Auswertung von Booleschen finden Sie unter about_Booleans.
Der <statement list>
Abschnitt der -Anweisung enthält einen oder mehrere Befehle, die jedes Mal ausgeführt werden, wenn die Schleife eingegeben oder wiederholt wird. Die <statement list>
kann alle gültigen PowerShell-Anweisungen enthalten, einschließlich der break
Schlüsselwörter und continue
.
Die folgende while
Anweisung zeigt beispielsweise die Zahlen 1 bis 3 an, wenn die $val
Variable nicht erstellt wurde oder wenn die $val
Variable erstellt und mit 0 initialisiert wurde.
while($val -ne 3)
{
$val++
Write-Host $val
}
In diesem Beispiel ist die Bedingung ($val
ist ungleich 3) true, während $val
gleich 0, 1 und 2 ist. Jedes Mal, wenn die Schleife durchläuft, $val
wird mithilfe des ++
unären Inkrementoperators um 1 erhöht. Wenn die Schleife $val
zuletzt auf 3 festgelegt ist, wird die Bedingungsanweisung auf false ausgewertet, und die Schleife wird beendet.
Um diesen Befehl bequem an der PowerShell-Eingabeaufforderung zu schreiben, können Sie ihn wie folgt eingeben:
while($val -ne 3){$val++; Write-Host $val}
Beachten Sie, dass das Semikolon den ersten Befehl, der 1 hinzufügt, $val
vom zweiten Befehl trennt, der den Wert von $val
in die Konsole schreibt.