Présentation de PowerShell ForEach Loop

Comprendre la boucle ForEach dans PowerShell, ForEach et forLoop effectuant tous deux les mêmes tâches, les deux servent à manipuler et à exécuter le même morceau de code sur une base répétitive. Si vous lisez chaque élément d'un tableau ou qu'il peut lire chaque ligne d'un fichier, dans ce type de condition, nous utilisons foreach. Par exemple, un tableau contenant des utilisateurs et nous voulons vérifier l'utilisateur avec le nom "Vijay", nous devons donc vérifier chaque élément et pour cela, nous avons besoin d'une boucle "foreach" et une fois que l'utilisateur "Vijay" a trouvé une boucle se fermera. Si vous avez besoin de regarder l'attribut city de chaque utilisateur avant d'entreprendre une action, vous pouvez utiliser ForEach Loop et vous pouvez effectuer un travail respectif sur chaque city.ForEach économise peu de mémoire et de temps par rapport à for loop. Dans PowerShell 4.0 et versions ultérieures, la méthode ForEach fournit des performances encore plus rapides.

Syntaxe de la boucle ForEach

Voici la syntaxe

foreach ($ in $)
(


)

Dans la syntaxe ci-dessus, nous pouvons voir que chaque fois qu'un élément du tableau Actualarray sera sélectionné et que cet élément sera traité dans la boucle foreach. Si $ est vide ou ne contient aucun élément, il n'ira pas pour l'exécution des instructions. PowerShell crée automatiquement la variable $ lors de l'exécution de la boucle Foreach. Par exemple, la boucle Foreach de l'exemple suivant affiche les valeurs du tableau $ students. Dans la boucle for, nous devions écrire une logique pour vérifier si le tableau est vide ou non, la boucle foreach exécute le bloc d'instructions s'il y a un élément à l'intérieur du tableau.

Code:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Écrans de sortie et de code:

Diagramme de flux pour la boucle PowerShell ForEach

Ci-dessous, le diagramme de flux pour PowerShell ForEach Loop:

Explication du diagramme de flux ci-dessus: Le diagramme de flux ci-dessus représente très clairement le flux.Une fois l'exécution commencée, il vérifiera les données (vérifier si l'élément est là dans le tableau) si sa boucle vide s'arrêtera. Mais si Data est là, il continuera l'exécution et exécutera l'instruction 1, l'instruction 2, l'instruction 3 jusqu'aux dernières données du tableau. Une fois que Array obtient l'exécution de la boucle vide.

Production:

Explication de la sortie ci-dessus: L' écran ci-dessus montre, s'il y avait deux attributs à l'intérieur du tableau, il s'imprimait deux fois, bonjour, mais si nous avons créé $ étudiants comme un tableau vide, aucune impression bonjour, cela signifie que si un attribut est disponible à l'intérieur de $ tableau des étudiants qu'il va exécuter le bloc d'instructions sinon il ne s'exécute pas.

Comment fonctionne ForEach Loop dans PowerShell?

Supposons que nous ayons 4 éléments et que nous voulons multiplier chaque nombre par cinq. Supposons que nous ayons $ a, $ b, $ c, $ d et que nous devons multiplier chacun par 5 donc ce que nous ferons, regardez l'exemple ci-dessous:

Exemple de code:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Par conséquent, nous avons obtenu notre résultat. Mais c'était bien jusqu'à ce que nous ayons seulement 4 éléments à multiplier par 5, supposons qu'il y aura 10000 éléments qui devront se multiplier avec 5 alors ce serait une tâche très fastidieuse d'écrire pour chacun.

Alors, quelle serait une solution facile pour cela? Tout ce que nous devons faire est de créer un tableau avec tous nos éléments et de passer le tableau par foreach et de multiplier chaque élément par 5. Pour multiplier le nombre cinq par chacun des éléments du tableau, nous devons parcourir le tableau en utilisant la commande ForEach.

Voici le script entier:

Code:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Production:

Explication du code ci-dessus: Dans les exemples ci-dessus que nous pouvons voir, nous nous sommes définis une autre variable $ f et lui avons attribué les 4 variables, ce qui en fait un tableau. Enfin, nous le passons de la boucle foreach qui nous a donné un résultat de 10, 20, 45, 25. De cette façon, nous rendons notre vie plus facile, car dans la vraie vie, il y aurait des centaines de milliers de fois qui doivent être modifiés, nous ne pouvons donc pas le faire un par un, nous utilisons donc la boucle foreach pour y faire face. Exécutez simplement une fois et modifiez autant que vous le souhaitez.

Exemples dans PowerShell ForEach Loop

Voici l'exemple dans PowerShell ForEach Loop:

Exemple 1

Parcourez un tableau de chaînes contenant les noms des élèves et trouvez la longueur de chaque chaîne à l'intérieur du tableau.

Code:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Sortie: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Exemple # 2

Permettez-moi de vous donner un exemple concret: lors des examens, vous avez déjà vu 30 notes sur 100 être des notes de passage. Supposons donc qu'il y ait des bancs d'étudiants et qu'il y ait une règle si un étudiant obtient 27 points, donnez-lui 30 points, cela signifie simplement ajouter 3 points supplémentaires dans ses 27 points. Nous parcourons donc un tableau de notes d'étudiants et ajoutons 3 notes si leurs notes sont de 27 et les laissons passer les examens car 30 notes sont des notes de passage.

Code:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Sortie: Il y avait deux étudiants mais vérifier manuellement dans des centaines de milliers d'étudiants pour 27 points était une tâche un peu fastidieuse que nous avons résolue.

Exemple # 3

Un autre exemple, Trouvez tous les nombres entre 1 et 100 qui sont complètement divisibles par 10.

Code:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Production:

Conclusion

Pour conclure, une instruction de boucle foreach nous permet d'exécuter une instruction ou un groupe d'instructions plusieurs fois avec la vérification de la disponibilité des éléments dans le tableau, ce qui signifie exécuter l'instruction suivante s'il y a des éléments. Les boucles Foreach ne s'exécutent que s'il y a des éléments à l'intérieur du tableau, ce qui le rend différent de celui de la boucle.

Articles recommandés

Ceci est un guide de PowerShell ForEach Loop. Ici, nous discutons Comment fonctionne ForEach Loop dans PowerShell?, avec différents exemples. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Pour boucle en R
  2. Qu'est-ce que PowerShell
  3. Utilisations de Powershell
  4. Comment installer PowerShell
  5. Array dans PowerShell | Exemples

Catégorie: