Introduction aux boucles dans PowerShell

Nous aurons toujours besoin de boucles si nous avons quelque chose de répétitif. En boucle, nous exécutons un morceau de code ou toute instruction sur une base répétitive. Un exemple réel, supposons que dans une école il y a 20000 étudiants et pour une raison quelconque, l'université a décidé de donner 5 points supplémentaires pour les examens à chaque étudiant. L'université a donc décidé de donner ces 5 notes à tous les étudiants à l'exception de ceux dont la fréquentation est inférieure à 100 jours. Maintenant, vous supposez simplement comment le personnel le fera, il devra vérifier les notes et la fréquentation de chaque élève de l'année. Mais la même chose avec l'aide de Any loop, cela aurait pu être fait très facilement, en créant un tableau d'étudiants avec leurs notes et leurs dates de présence. En utilisant une boucle, nous pouvons économiser des efforts supplémentaires. Comprenons les boucles dans PowerShell en détail.

Types de boucles dans PowerShell

Il existe de nombreuses façons d'exécuter une boucle dans PowerShell, mais cela dépend toujours de vos besoins et de la faisabilité du programme, par exemple, si vous souhaitez exécuter au moins une fois pour n'importe quel tableau que nous devrions utiliser la boucle do-while sinon il y a pour la boucle et pour chacun qui sont bons .

Les types et leurs exemples sont donnés ci-dessous:

1. Bien que

Alors que l'instruction prend une condition comme argument et l'exécution de l'instruction à l'intérieur d'une boucle while dépend de la condition, cela signifie que si une condition est réussie, elle exécutera l'instruction sinon.

Syntaxe:

while(condition)
(
Statement 1
Statement 2
….
)

Exemple:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

Voici l'écran pour l'exécution du code ci-dessus

2. Faites tout

Do while est similaire à la boucle while, mais la différence est qu'elle s'exécutera au moins une fois, cela signifie qu'elle exécutera do a block pour la première fois et while block si une condition est vraie. Dans la syntaxe ci-dessous, le bloc est exécuté pour la première fois à coup sûr.

  • À faire : ce bloc s'exécute pour la première et une fois au début de l'exécution.
  • Tandis que : l'exécution des instructions 1 et 2 dépend entièrement du succès de la condition.

Syntaxe:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Exemple 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Exemple # 2:

Dans cet exemple, do block s'exécutera pour la première fois, même si la condition n'était pas vraie.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

L'écran des deux programmes est illustré ci-dessous

3. Faites jusqu'à

Faire jusqu'à est peu différent de faire tout, faire jusqu'à ce que l'exécution se poursuive jusqu'à ce que le résultat négatif soit renvoyé par «jusqu'à bloquer». Deux choses sont importantes ici.

  • À faire : ce bloc continuera à s'exécuter jusqu'à ce que la condition de bloc échoue, ce qui signifie jusqu'à ce que le bloc renvoie une valeur négative.
  • Jusqu'à : les instructions de bloc 1 et 2 sont exécutées jusqu'à ce que les conditions renvoient des résultats négatifs.

Syntaxe:

do
(
Statement 1
Statement 2
….
)until(condition)

Exemple:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

Dans le bloc «jusqu'à», nous pouvons voir que l'exécution du bloc se poursuivra jusqu'à ce que la condition «jusqu'à ce que le bloc» renvoie une valeur positive.

Voici l'écran pour l'exécution du code ci-dessus

4. Pour

L'instruction For exécute une liste d'instructions zéro ou plusieurs fois en fonction d'un paramètre initial. Dans la syntaxe ci-dessous de la boucle for, il y a trois sections importantes

  • Section d'initialisation : dans cette section, il a attribué la valeur initiale à n'importe quelle variable, cette section s'exécute une fois pour la première fois.
  • Condition : dans les parties de condition, nous écrivons notre condition pour laquelle la boucle s'exécutera, ce qui signifie que l'exécution du bloc d'instructions dépend toujours du succès des parties de condition si la condition est vraie, le bloc d'instructions s'exécutera sinon.
  • Opération : Dans ce bloc, nous pouvons augmenter, diminuer ou changer la valeur de l'initialisation d'une variable ou de tout autre chose selon nos besoins.

Syntaxe:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Exemple 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Écran de sortie du code ci-dessus

Plusieurs fois, une boucle n'est pas suffisante pour répondre à nos besoins, nous pouvons donc utiliser des boucles imbriquées. Nous devons essayer d'éviter l'imbrication des boucles car leur complexité temporelle peut devenir très élevée si elle n'est pas gérée correctement. Voici un exemple de boucle imbriquée.

Exemple # 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Sortie: 00 11 22

5. ForEach

«Foreach» exécute les blocs d'instructions pendant une durée consécutive jusqu'au dernier élément d'un tableau. Les bonnes choses à propos de l'instruction forEach sont que nous n'avons pas besoin d'écrire de code séparé pour extraire un tableau d'éléments. En général, «foreach» est une version optimisée de la boucle «for» qui donne l'élément intérieur du tableau sans écrire de programme. Ici, il vérifie simplement l'élément dans le tableau sur lequel nous exécutons la boucle «foreach» si un élément est là, il exécutera les blocs d'instructions 1 et d'instruction 2.

Syntaxe:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Exemple:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Ci-dessous, l'écran montre les exécutions

Avantages des boucles dans PowerShell

Le plus grand avantage de l'utilisation d'une boucle est qu'elle réduit trop de travail manuel et qu'il est très bon de contrôler la grande taille des données pour un type d'activité similaire. Disons que je veux que vous imprimiez 1 à 1000000 et je vous ai dit que vous pouvez ajouter 1 à chaque nombre divisible par 2, qui est un nombre pair. Ensuite, si vous commencez à imprimer un par un et essayez d'ajouter 1 à chaque nombre pair, cela prendra trop de temps. Donc, une façon meilleure et facile que vous avez suggérée était de répéter ce processus d'ajout d'un au nombre jusqu'à ce que nous atteignions 1000000. Le plus grand avantage que nous obtenons de la boucle est que nous réutilisons le même morceau de code, nous n'avons pas besoin d'écrire le même code pour des centaines de milliers de données, il exécutera automatiquement le code jusqu'à la fin.

Voici quelques points d'avantages

  • Augmenter la réutilisation du code, ce qui rend le code plus petit
  • Le calcul plus rapide pour les mégadonnées, économisant beaucoup de travail manuel
  • La redondance du code est moindre.

Un exemple avec ses avantages

Question: imprimez jusqu'à 1000.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Articles recommandés

Cela a été un guide pour les boucles dans PowerShell. Nous discutons ici des types de boucles dans PowerShell ainsi que de leurs avantages. Et nous avons découvert que les boucles sont un outil très puissant avec moins d'effort pour utiliser le même code. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Qu'est-ce que Shell Scripting?
  2. Fonctions de chaîne PowerShell
  3. Opérateurs PowerShell
  4. Commandes PowerShell
  5. Exemples de tableaux dans PowerShell

Catégorie: