RUBRIQUE
about_For
DESCRIPTION COURTE
Décrit une commande de langage permettant d'exécuter des
instructions selon un test conditionnel.
DESCRIPTION LONGUE
L'instruction For (également appelée " boucle For ") est une
construction de langage permettant de créer une boucle qui exécute
les commandes d'un bloc de commandes tant qu'une condition spécifiée
prend la valeur true (vrai).
Une boucle For est généralement utilisée pour parcourir un tableau de
valeurs et traiter un sous-ensemble de ces valeurs. Dans la plupart
des cas, pour parcourir toutes les valeurs d'un tableau, il peut
s'avérer utile d'employer une instruction Foreach.
Syntaxe
La syntaxe de l'instruction For est présentée ci-dessous.
for (<init>; <condition>; <répétition>)
{<liste d'instructions>}
L'espace réservé <init> représente une ou plusieurs commandes
séparées par des virgules et exécutées avant le début de la
boucle. La partie <init> de l'instruction est généralement
utilisée pour créer et initialiser une variable avec une valeur
de départ.
Cette variable servira ensuite de base pour la condition à
tester dans la partie suivante de l'instruction For.
L'espace réservé <condition> représente la partie de
l'instruction For qui se résout en valeur booléenne true ou false.
Windows PowerShell évalue la condition chaque fois que la boucle
For s'exécute. Si l'instruction a la valeur true, les commandes
du bloc de commandes s'exécutent et l'instruction est de nouveau
évaluée. Si la condition reste vraie, les commandes de la liste
d'instructions s'exécutent une nouvelle fois. La boucle se répète
jusqu'à ce que la condition prenne la valeur false.
L'espace réservé <répétition> représente un ou plusieurs commandes,
séparées par des virgules et exécutées chaque fois que la boucle
se répète. Cela sert généralement à modifier une variable testée à
l'intérieur de la partie <condition> de l'instruction.
L'espace réservé <liste d'instructions> représente un jeu d'une
ou de plusieurs commandes exécutées à chaque entrée dans la boucle
ou répétition de celle-ci. Le contenu de la liste d'instructions
figure entre accolades.
Exemples
Au minimum, une instruction For requiert les parties <init>,
<condition> et <répétition> placées entre parenthèses, ainsi qu'une
commande placée entre accolades dans la partie <liste d'instructions>.
Notez que les exemples à venir montrent intentionnellement le
code situé hors de l'instruction For. Dans les exemples
ultérieurs, le code est intégré à l'instruction For.
Par exemple, l'instruction For suivante affiche continuellement
la valeur de la variable $i jusqu'à ce que vous sortiez
manuellement de la commande en appuyant sur CTRL+C.
$i = 1
for (;;){Write-Host $i}
Vous pouvez ajouter des commandes supplémentaires à la liste
d'instructions afin que la valeur de la variable $i soit incrémentée
d'une unité à chaque exécution de la boucle, comme le montre
l'exemple suivant.
for (;;){$i++; Write-Host $i}
Jusqu'à ce que vous sortiez de la commande en appuyant sur CTRL+C,
cette instruction affichera continuellement la valeur de la variable
$i à mesure qu'elle est incrémentée d'une unité à chaque exécution
de la boucle.
Au lieu de modifier la valeur de la variable dans la partie de
l'instruction For réservée à la liste d'instructions, vous pouvez
utiliser plutôt la partie <répétition> de l'instruction, comme suit :
$i=1
for (;;$i++){Write-Host $i}
Cette instruction continuera à se répéter indéfiniment jusqu'à
ce que vous sortiez de la commande en appuyant sur CTRL+C.
En définissant une condition (à l'aide de la partie <condition> de
l'instruction For), vous pouvez terminer la boucle For lorsque la
condition prend la valeur false. Dans l'exemple suivant, la boucle
For s'exécute tant que la valeur de la variable $i est inférieure ou
égale à 10.
$i=1
for(;$i -le 10;$i++){Write-Host $i}
Au lieu de créer et d'initialiser la variable en dehors de
l'instruction For, vous pouvez effectuer cette tâche dans la
boucle For en utilisant sa partie <init>.
for($i=1; $i -le 10; $i++){Write-Host $i}
Vous pouvez utiliser des retours chariot, au lieu de
points-virgules, pour délimiter les parties <init>, <condition>
et <répétition> de l'instruction For. L'exemple suivant montre
la syntaxe de l'instruction For sous cette autre forme.
for (<init>
<condition>
<répétition>){
<liste d'instructions>
}
Cette autre forme de l'instruction For fonctionne dans les
fichiers de script et l'invite de commandes Windows PowerShell.
Toutefois, il est plus facile d'utiliser l'instruction For avec
des points-virgules lors de la saisie de commandes interactives
à l'invite de commandes.
La boucle For est plus souple que la boucle Foreach, car elle permet
d'incrémenter des valeurs dans un tableau ou une collection au moyen
de modèles. Dans l'exemple suivant, la variable $i est incrémentée de
2 unités dans la partie <répétition> de l'instruction For.
for ($i = 0; $i -ile 20; $i += 2) {Write-Host $i}
VOIR AUSSI
about_Comparison_Operators
about_Foreach