Freigeben über


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)

Weitere Informationen