THEMA
about_For
KURZBESCHREIBUNG
Beschreibt einen Sprachbefehl, mit dem Sie Anweisungen auf
Grundlage einer Bedingungsüberprüfung ausführen können.
DETAILBESCHREIBUNG
Die For-Anweisung (For-Schleife) ist ein Sprachkonstrukt, mit dem
Sie eine Schleife erstellen können, mit der Befehle in einem
Befehlsblock ausgeführt werden, solange eine angegebene Bedingung
"True" ergibt.
For-Schleifen werden häufig zum Durchlaufen eines Arrays von
Werten und zum Bearbeiten einer Teilmenge dieser Werte verwendet.
In den meisten Fällen können Sie alle Werte in einem Array mit
einer Foreach-Anweisung durchlaufen:
Syntax
Die Syntax der For-Anweisung lautet:
for (<Anfangswert>; <Bedingung>; <Wiederholung>)
{<Anweisungsliste>}
Der Platzhalter <Anfangswert> stellt einen oder mehrere, durch
Kommas getrennte Befehle dar, die vor der Schleife ausgeführt
werden. Im <Anfangswert>-Bereich der Anweisung wird in der
Regel eine Variable mit einem Anfangswert erstellt und
initialisiert.
Diese Variable bildet die Grundlage für die Bedingung, die im
nächsten Teil der For-Anweisung überprüft wird.
Der Platzhalter <Bedingung> stellt den Teil der For-Anweisung dar,
der zum booleschen Wert True oder False aufgelöst wird. Die
Bedingung wird von Windows PowerShell bei jeder Ausführung der For-
Schleife ausgewertet. Wenn die Anweisung "True" lautet, werden die
Befehle im <Befehlsblock> ausgeführt, und die Anweisung wird erneut
ausgewertet. Wenn die Bedingung immer noch den Wert True hat, die
Befehle in der Anweisungsliste erneut ausgeführt. Die Schleife wird
wiederholt, bis die Bedingung mit False ausgewertet wird.
Der Platzhalter <Wiederholung> stellt einen oder mehrere
Befehle dar, die durch
Kommas getrennt sind und stets ausgeführt werden, wenn die Schleife
wiederholt wird. Dieser wird häufig verwendet, um eine Variable zu
ändern, die im <Bedingung>-Bereich der Anweisung überprüft wird.
Der Platzhalter <Anweisungsliste> stellt einen Satz von
Befehlen dar,
die stets ausgeführt werden, wenn die Schleife gestartet oder
wiederholt wird. Der Inhalt der Anweisungsliste wird in
Klammern eingeschlossen.
Beispiele
Bei einer For-Anweisung müssen mindestens die Anweisungsbereiche
<Anfangswert>, <Bedingung> und <Wiederholung> in Klammern
eingeschlossen werden. Außerdem muss ein Befehl im Bereich
<Befehlsblock> der Anweisung in Klammern eingeschlossen werden.
Die Angabe von Code außerhalb der For-Anweisung in den nachfolgenden
Beispielen ist beabsichtigt. Dieser Code wird in späteren Beispielen
in die For-Anweisung eingebunden.
Beispielsweise zeigt die folgende For-Anweisung solange den Wert der
Variablen "$i" an, bis die Ausführung des Befehls durch Drücken von STRG+C
manuell unterbrochen wird.
$i = 1
for (;;){Write-Host $i}
Sie können der Anweisungsliste manuell Befehle hinzufügen,
sodass der Wert von "$i" nach jeder Ausführung der Schleife um
1 erhöht wird, wie das nachfolgende Beispiel zeigt:
for (;;){$i++; Write-Host $i}
Durch diese Anweisung wird der Wert der Variablen "$i", der bei
jedem Ausführen der Schleife um 1 erhöht wird, solange
angezeigt, bis Sie die Ausführung des Befehls durch Drücken von
STRG+C manuell abbrechen.
Anstatt den Wert der Variablen in der Anweisungsliste der
For-Anweisung zu ändern, können Sie, wie im Folgenden
dargestellt, auch den Bereich <Wiederholung> der For-Anweisung
verwenden.
$i=1
for (;;$i++){Write-Host $i}
Diese Anweisung wird solange ausgeführt, bis Sie den Befehl
durch Drücken von STRG+C manuell abbrechen.
Durch Festlegen einer Bedingung (im Bereich <Bedingung> der
For-Anweisung) können Sie die Ausführung der For-Schleife
beenden, wenn die Bedingung "False" ergibt. Im folgenden
Beispiel wird die For-Schleife ausgeführt, solange der Wert von
"$i" kleiner 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 zu initialisieren, können Sie diese Aufgabe durch Verwenden
des Bereichs <Anfangswert> in der For-Anweisung innerhalb der
For-Schleife ausführen.
for($i=1; $i -le 10; $i++){Write-Host $i}
Sie können die Bereiche <Anfangswert>, <Bedingung> und
<Wiederholung> der For-Anweisung auch durch Wagenrückläufe
anstelle von Semikolons trennen. Das folgende Beispiel zeigt
die Syntax der For-Anweisung in dieser alternativen Notation:
for (<Anfangswert>
<Bedingung>
<Wiederholung>){
<Anweisungsliste>
}
Die alternative Notation der For-Anweisung kann in Skriptdateien
und an der Eingabeaufforderung von Windows PowerShell
verwendet werden. Mit interaktiven Befehlen an der Eingabeaufforderung
können Sie die Syntax der For-Anweisung mit Semikolons jedoch
einfacher verwenden.
Die For-Schleife ist flexibler als die Foreach-Schleife, da sie das
Erhöhen von Werten in einem Array oder einer Auflistung durch Muster
ermöglicht. Im folgenden Beispiel wird die Variable "$i" im
<Wiederholung>-Bereich der for-Anweisung um zwei erhöht.
for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}
SIEHE AUCH
about_Comparison_Operators
about_Foreach