about_For

Letzte Aktualisierung: Mai 2014

Betrifft: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

THEMA

about_For

KURZE BESCHREIBUNG

Beschreibt einen Sprachbefehl, den Sie verwenden können, um Anweisungen basierend auf einem bedingten Test auszuführen.

LANGE BESCHREIBUNG

Die For-Anweisung (auch bekannt als eine For-Schleife) ist ein Sprachkonstrukt, das Sie zum Erstellen einer Schleife verwenden können, die Befehle in einem Befehlsblock ausführt, wenn eine angegebene Bedingung als „true“ gewertet wird.

Eine typische Verwendung der For-Schleife ist das Durchlaufen eines Arrays von Werten und das Ausführen für eine Teilmenge dieser Werte. Wenn alle Werte in einem Array durchlaufen werden sollen, können Sie in den meisten Fällen eine Foreach-Anweisung in Erwägung ziehen.

Syntax

Das folgende Beispiel zeigt die Syntax der For-Anweisung.

          for (<init>; <condition>; <repeat>) 
          {<statement list>}

Der <init>-Platzhalter repräsentiert einen oder mehrere Befehle, getrennt durch Kommas, die vor Beginn der Schleife ausgeführt werden. In der Regel verwenden Sie den <init>-Teil der Anweisung zum Erstellen und Initialisieren einer Variablen mit einem Startwert. Beachten Sie, dass die Komma-Syntax bei Zuweisungsanweisungen nicht funktioniert, wie etwa im folgenden Beispiel:

          $ofs=",";$rs = "rs"; $cs = "cs"; for ($r = $rs, $c = $cs; $true;) 
          { "r is '$r' and c is '$c'"; break }

Diese Variable wird dann zur Grundlage der Bedingung, die im nächsten Teil der For-Anweisung überprüft wird.

Der <condition>-Platzhalter repräsentiert den Teil der For-Anweisung, der zu einem Booleschen Wert „True“ oder „False“ aufgelöst wird. Windows PowerShell® evaluiert die Bedingung bei jeder Ausführung die For-Schleife. Wenn die Anweisung „true“ ist, werden die Befehle im Befehlsblock ausgeführt, und die Anweisung wird erneut evaluiert. Wenn die Bedingung weiterhin „true“ ist, werden die Befehle in der Anweisungsliste erneut ausgeführt. Die Schleife wird wiederholt, bis für die Bedingung „false“ gilt.

Die <repeat>-Platzhalter repräsentiert einen oder mehrere Befehle, getrennt durch Kommas, die bei jeder Wiederholung der Schleife ausgeführt werden. In der Regel wird diese Methode verwendet, um eine Variable zu ändern, die im <condition>-Teil der Anweisung getestet wird.

Der <statement list>-Platzhalter repräsentiert einen Satz von einem oder mehreren Befehlen, die jedes Mal ausgeführt werden, wenn die Schleife aufgerufen oder wiederholt wird. Der Inhalt der Anweisungsliste ist von geschweiften Klammern umgeben.

Beispiele

For-Anweisung erfordert mindestens die Klammern um den <init>-, <condition>- und <repeat>-Teil der Anweisung sowie einen Befehl in spitzen Klammern im <statement list>-Teil der Anweisung.

Beachten Sie, dass in den nachstehenden Beispielen absichtlich Code außerhalb der For-Anweisung gezeigt wird. In späteren Beispielen ist der Code in die Anweisung integriert.

Beispielsweise zeigt die folgende For-Anweisung kontinuierlich den Wert der $i-Variablen, bis Sie durch Drücken von STRG+C den Befehl manuell unterbrechen.

          $i = 1
          for (;;){Write-Host $i}

Sie können der Anweisungsliste zusätzliche Befehle hinzufügen, damit bei jeder Ausführung der Schleife der Wert von $i um 1 erhöht wird, wie im folgenden Beispiel gezeigt.

          for (;;){$i++; Write-Host $i}

Bis Sie den Befehl durch Drücken von STRG+C abbrechen, wird diese Anweisung kontinuierlich den Wert der $i-Variablen anzeigen, der bei jeder Ausführung der Schleife um 1 erhöht wird.

Anstatt den Wert der Variablen im Anweisungslistenteil der For-Anweisung zu ändern, können Sie den <repeat>-Teil der For-Anweisung wie folgt verwenden.

          $i=1
          for (;;$i++){Write-Host $i}

Diese Anweisung wird weiterhin unendlich wiederholt, bis Sie den Befehl unterbrechen, indem Sie STRG+C drücken.

Durch Festlegen einer Bedingung (mit dem <condition>-Teil der For-Anweisung) können Sie die For-Schleife beenden, wenn die Bedingung „false“ ergibt. Im folgenden Beispiel wird die For-Schleife ausgeführt, so lange der Wert von $i kleiner als oder gleich 10 ist.

          $i=1
          for(;$i -le 10;$i++){Write-Host $i}

Anstatt die Variable außerhalb der For-Anweisung zu erstellen und initialisieren, können Sie diese Aufgabe innerhalb der For-Schleife ausführen, indem Sie den <init>-Teil der For-Anweisung verwenden.

          for($i=1; $i -le 10; $i++){Write-Host $i}

Sie können Wagenrückläufe anstelle von Semikolons verwenden, um die <init>-, <condition>- und <repeat>-Teile der For-Anweisung voneinander abzutrennen. Das folgende Beispiel zeigt die Syntax der For-Anweisung in dieser alternativen Form.

        
            for (<init>
          <condition>
          <repeat>){
          <statement list>
          }

Diese alternative Form der For-Anweisung funktioniert in Windows PowerShell-Skriptdateien und in der Windows PowerShell-Befehlszeile. Allerdings ist es einfacher, die Syntax der For-Anweisung mit Semikolons zu verwenden, wenn Sie interaktive Befehle an der Befehlszeile eingeben.

Die For-Schleife ist flexibler als die Foreach-Schleife, da sie Ihnen ermöglicht, Werte in einem Array oder einer Sammlung mithilfe von Mustern zu erhöhen. Im folgenden Beispiel wird im <repeat>-Teil der Anweisung die $i-Variable um 2 erhöht.

          for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}

SIEHE AUCH

about_Comparison_Operators

about_Foreach