Les Boucles en PowerShell
Introduction aux Boucles
Les boucles sont essentielles en programmation, car elles permettent aux programmes d'exécuter un même ensemble d'instructions plusieurs fois jusqu'à ce qu'une condition d'arrêt soit rencontrée. En PowerShell, on distingue principalement cinq types de boucles :
- for
- while
- do..while
- do..until
- foreach
La Boucle For
La boucle for
fonctionne en exécutant le code qu'elle contient tant que la condition spécifiée est vérifiée. Voici les trois éléments de base de cette boucle :
- L'initialisation d'une variable compteur
- La condition d'arrêt
- L'incrémentation ou la décrémentation de la variable compteur
Voici un exemple de boucle for
:
for ($i = 1; $i -le 5; $i++) {
$square = $i * $i
Write-Host "Le carré de" $i "est" $square
}
Cette boucle va afficher les carrés des nombres de 1 à 5.
La Boucle Foreach
La boucle foreach
est particulièrement conçue pour parcourir les éléments d'un tableau. Voici comment cela fonctionne :
$array = 51, 12, 31, 4, 15
foreach ($element in $array) {
if ($element % 2 -eq 0) {
Write-Host $element "est" Pair
} else {
Write-Host $element "est" Impair
}
}
Notez que vous pouvez également utiliser la méthode foreach
des tableaux :
$array.foreach({
if ($PSItem % 2 -eq 0) {
Write-Host $PSItem "est" Pair
} else {
Write-Host $PSItem "est" Impair
}
})
Il est important de mentionner que $PSItem
peut être remplacé par son alias abrégé $_
.
La Boucle While
La boucle while
exécute des instructions tant que la condition spécifiée est véritable. Dans l’exemple ci-dessous, nous augmentons un compteur par 3 jusqu'à ce qu'il atteigne 15 :
$count = 0
while ($count -lt 15) {
$count += 3
Write-Host "Le compteur est" $count
}
La Boucle Do..While
La boucle do..while
est une variante de la boucle while
, où les instructions à l'intérieur sont exécutées au moins une fois avant de vérifier la condition :
$answer = 4
do {
$input = Read-Host "Devine mon nombre"
} while ($input -ne $answer)
Write-Host "Correct!"
La Boucle Do..Until
À l’instar de la boucle do..while
, la boucle do..until
s’exécute jusqu'à ce que la condition devienne vraie, ce qui signifie que le code à l’intérieur est exécuté au moins une fois :
$answer = 4
do {
$input = Read-Host "Devine mon nombre"
} until ($input -eq $answer)
Write-Host "Correct!"
Instructions Break et Continue
Les instructions break
et continue
sont utilisées pour contrôler le flux des boucles. break
sort de la boucle prématurément, tandis que continue
saute à l’itération suivante :
for ($i = 0; $i -lt 5; $i++) {
if ($i -eq 2) {
break
}
Write-Host $i
}
Dans cet exemple, seules les valeurs 0 et 1 seront affichées, car la boucle se termine lorsque $i
vaut 2. En revanche, si vous utilisez continue
:
for ($i = 0; $i -lt 5; $i++) {
if ($i -eq 2) {
continue
}
Write-Host $i
}
la boucle imprimera 0, 1, 3 et 4, sautant l’itération où $i est 2.