about_Do
Kurze Beschreibung
Führt eine Anweisungsliste einmal oder mehrmals aus, vorbehaltlich einer While
- oder Until
-Bedingung.
Lange Beschreibung
Der Do
Schlüsselwort (keyword) funktioniert mit dem While
Schlüsselwort (keyword) oder dem Until
Schlüsselwort (keyword), um die Anweisungen in einem Skriptblock auszuführen, vorbehaltlich einer Bedingung. Im Gegensatz zur zugehörigen While
Schleife wird der Skriptblock in einer Do
Schleife immer mindestens einmal ausgeführt.
Eine Do-While-Schleife ist eine Vielzahl der While
Schleife. In einer Do-While-Schleife wird die Bedingung ausgewertet, nachdem der Skriptblock ausgeführt wurde. Wie in einer While-Schleife wird der Skriptblock wiederholt, solange die Bedingung als true ausgewertet wird.
Wie bei einer Do-While-Schleife wird eine Do-Until-Schleife immer mindestens einmal ausgeführt, bevor die Bedingung ausgewertet wird. Der Skriptblock wird jedoch nur ausgeführt, während die Bedingung false ist.
Die Continue
Schlüsselwörter für die Ablaufsteuerung und Break
können in einer Do-While-Schleife oder in einer Do-Until-Schleife verwendet werden.
Syntax
Im Folgenden wird die Syntax der Do-While-Anweisung veranschaulicht:
do {<statement list>} while (<condition>)
Im Folgenden wird die Syntax der Do-Until-Anweisung veranschaulicht:
do {<statement list>} until (<condition>)
Die Anweisungsliste enthält eine oder mehrere Anweisungen, die jedes Mal ausgeführt werden, wenn die Schleife eingegeben oder wiederholt wird.
Der Bedingungsteil der Anweisung wird in true oder false aufgelöst. Weitere Informationen zur Auswertung von Booleschen finden Sie unter about_Booleans.
Beispiel
Das folgende Beispiel einer Do
Anweisung zählt die Elemente in einem Array, bis sie ein Element mit dem Wert 0 erreicht.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
Im folgenden Beispiel wird die Until
Schlüsselwort (keyword) verwendet. Beachten Sie, dass der Operator ungleich (-ne
) durch den Operator gleich dem Operator (-eq
) ersetzt wird.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
Im folgenden Beispiel werden alle Werte eines Arrays geschrieben, wobei jeder Wert übersprungen wird, der kleiner als 0 (null) ist.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)