THEMA about_Do KURZBESCHREIBUNG Führt eine Anweisungsliste ein- oder mehrmals mit der While-Bedingung oder der Until-Bedingung aus. DETAILBESCHREIBUNG Das Do-Schlüsselwort wird mit dem While-Schlüsselwort oder dem Until- Schlüsselwort verwendet, um die Anweisungen in einem Skriptblock mit einer Bedingung auszuführen. Anders als bei der verwandten While-Schleife wird der Skriptblock in einer Do-Schleife stets mindestens einmal ausgeführt. Eine Do-While-Schleife stellt eine Variante der While-Schleife dar. In einer Do-While-Schleife wird die Bedingung ausgewertet, nachdem der Skriptblock ausgeführt wurde. Wie bei einer While-Schleife wird der Skriptblock so lange wiederholt, bis die Bedingung mit "true" ausgewertet wird. Wie Do-While-Schleifen werden auch Do-Until-Schleifen stets mindestens einmal ausgeführt, bevor die Bedingung ausgewertet wird. Der Skriptblock wird nur jedoch ausgeführt, solange die Bedingung mit dem Wert "false" ausgewertet wird. Das Continue-Schlüsselwort und das Break-Schlüsselwort für die Flusskontrolle können in einer Do-While-Schleife oder in einer Do-Until-Schleife verwendet werden. Syntax Für die Do-While-Anweisung wird die folgende Syntax verwendet: do {<Anweisungsliste>} while (<Bedingung>) Für die Do-Until-Anweisung wird die folgende Syntax verwendet: do {<Anweisungsliste>} until (<Bedingung>) Die Anweisungsliste enthält eine oder mehrere Anweisungen, die stets ausgeführt werden, wenn die Schleife gestartet oder wiederholt wird. Die Bedingung in der Anweisung ergibt "True" oder "False". Beispiel Im folgenden Beispiel für eine Do-Anweisung werden die Elemente in einem Array bis zum Element mit dem Wert 0 gezählt. 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 kleineren Werte als 0 übersprungen werden. do { if ($x[$a] -lt 0) { continue } Write-Host $x[$a] } while (++$a -lt 10) SIEHE AUCH about_While about_Operators about_Assignment_Operators about_Comparison_Operators about_Break about_Continue