Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
KURZE BESCHREIBUNG
Führt eine Anweisungsliste je nach While- oder Until-Bedingung mindestens einmal aus.
LANGE BESCHREIBUNG
Das Do-Schlüsselwort funktioniert mit dem While-Schlüsselwort oder dem Until-Schlüsselwort, um die Anweisungen in einem Skriptblock auszuführen, die einer Bedingung unterliegen. 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 Variante 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 eine Do-While-Schleife wird auch eine Do-Until-Schleife immer mindestens einmal ausgeführt, bevor die Bedingung ausgewertet wird. Der Skriptblock wird jedoch nur ausgeführt, wenn die Bedingung falsch ist.
Die Schlüsselwörter für die Ablaufsteuerung "Continue" und "Break" können in einer Do-While-Schleife oder in einer Do-Bis-Schleife verwendet werden.
Syntax
Das ist die Syntax der Do-While-Anweisung:
do {<statement list>} while (<condition>)
Das ist die Syntax der Do-Until-Anweisung:
do {<statement list>} until (<condition>)
Die Anweisungsliste enthält mindestens eine Anweisung, die bei jedem Starten oder Wiederholen der Schleife ausgeführt wird.
Der Bedingungsbereich der Anweisung wird in „true“ oder „false“ aufgelöst.
Beispiel
Im folgenden Beispiel einer Do-Anweisung werden die Elemente in einem Array gezählt, bis ein Element mit dem Wert 0 erreicht wird.
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3
Im folgenden Beispiel wird das Until-Schlüsselwort verwendet. Beachten Sie, dass der Ungleichheitsoperator (-ne) durch den Gleichheitsoperator (-eq) ersetzt wird.
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\PS> $count
3
Im folgenden Beispiel werden alle Werte eines Arrays geschrieben, wobei alle Werte, die kleiner als Null sind, übersprungen werden.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)