Comment une boucle For PowerShell peut exécuter une commande plusieurs fois


La boucle For est l'une des plus des outils précieux dans n'importe quel langage de programmation, et  Microsoft PowerShell n'est pas différent. Vous pouvez utiliser d'autres boucles pour répéter des commandes, mais la boucle For est peut-être la plus simple.

De l'itération sur des tableaux à l'exécution d'une fonction un nombre de fois prédéterminé, vous pouvez réaliser de nombreuses choses avec cet outil. Voici un tutoriel sur la façon d'utiliser les boucles For dans PowerShell.

À quoi servent les boucles For dans PowerShell ?

Contrairement à Invite de commande, PowerShell est un environnement de script complet. Cela signifie que vous pouvez écrire des Scripts PowerShell réutilisables pour effectuer automatiquement des tâches plutôt que de saisir des commandes manuellement. Et les boucles For sont la clé pour écrire ces modules.

Une instruction For répète un bloc de script un nombre spécifique de fois, modifiant une variable donnée pour suivre la progression. Cela vous permet d'utiliser la boucle pour certains scénarios plutôt intéressants.

Vous pouvez générer des séquences de nombres, déterminer un nombre premier ou afficher un compte à rebours. De manière plus pratique, vous pouvez parcourir un tableau d'objets, en effectuant une action avec chaque entrée.

La syntaxe d'une boucle For dans PowerShell

Les boucles For fonctionnent dans Windows PowerShell de la même manière que dans n'importe quel langage de programmation. Les expressions initialisant la variable de suivi, testant sa valeur et modifiant la variable sont placées entre parenthèses après « Pour », séparées par des points-virgules. Vient ensuite la liste d'instructions elle-même liée par des accolades.

Pour (Initialisation ; Condition ; Mise à jour)

{

    Bloc de script

>

Comment utiliser la boucle For dans un script PowerShell

Utiliser la boucle For est assez simple. Chaque fois que vous rencontrez une situation qui nécessite de répéter une étape légèrement variable, vous devez la mettre dans une boucle For.

Disons que vous devez écrire un extrait de code capable de trouver la somme de tous les nombres naturels jusqu'à un nombre n, contenu dans la variable $n. Voici un exemple de base de boucle For :

$n = 10

$somme = 0

Pour ($i = 1 ; $i -le $n ; $i++)

{

    $somme = $somme + $i

>

"La somme de $n nombres naturels est $sum"

Accès aux tableaux via une boucle For

.

La plupart des gens utilisent PowerShell pour générer des séquences numériques. Une utilisation plus courante consiste à parcourir un tableau.

Disons que vous avez un tableau $week avec sept éléments. Vous pouvez afficher la liste des jours contenus dans le tableau à l'aide d'une simple boucle For, comme démontré dans l'exemple suivant.

Pour ($i = 0 ; $i -lt $week.Length ; $i++)

{

    $week[$i]

>

Utiliser la boucle ForEach pour parcourir rapidement un tableau

Une autre forme de boucle For est l'instruction ForEach. Cette version simplifie le parcours du contenu d'un tableau PowerShell et leur traitement individuellement. L'extrait de code précédent, par exemple, peut être réécrit comme ceci :

Foreach ($jour dans $semaine)

{

    $jour

>

Lorsque vous traitez des objets plus complexes, vous pouvez également utiliser l'applet de commande Foreach-Object pour effectuer une action sur le contenu de n'importe quelle commande PowerShell.

En quoi la boucle For est-elle différente des autres types de boucles ?

La boucle For n'est pas le seul type d'instruction de boucle à votre disposition. Comme la plupart des langages de programmation, PowerShell dispose de plusieurs types de boucles.

Pendant que

La plus simple d'entre elles est la boucle While. Tout ce que vous avez est une condition et un bloc de script, et la boucle s'exécute tant que l'expression de test est évaluée comme vraie. Puisque l’expression est évaluée en premier, il est possible que le code ne s’exécute pas du tout ou se termine par une boucle infinie.

Pendant que (Condition)

{

    Bloc de script

>

Faire pendant

Si vous écrivez un script qui doit être exécuté au moins une fois – même si l'expression est évaluée comme fausse – alors vous pouvez utiliser la boucle Do-While. La seule différence avec la boucle While est qu'elle place le bloc de commande avant la condition, ce qui signifie que le code est exécuté avant que l'expression de test ne soit vérifiée pour la première fois.

Faire {

    Bloc de script

>

Pendant que (Condition)

Faire jusqu'à

Une autre version de cette boucle est Do-Until. Fondamentalement, il exécute le bloc de code puis le répète jusqu'à ce que l'expression de test soit vraie – l'inverse d'une boucle Do-While. Ce n'est pas une structure particulièrement utile, car vous pouvez obtenir la même chose en modifiant la condition dans une boucle Do-While standard..

Faire {

    Bloc de script

>

Jusqu'à (Condition)

Pourquoi la boucle For est meilleure

Le problème avec toutes ces autres structures en boucle est qu'elles n'incluent pas la valeur initiale ou les instructions de mise à jour. Il faut penser manuellement à créer une variable en dehors de la boucle puis l'incrémenter (ou la décrémenter) à chaque passage de la boucle.

Comme vous vous en doutez, les programmeurs oublient souvent cette étape, ce qui conduit à un script qui ne fonctionne pas comme prévu. Cela fait perdre un temps précieux en débogage.

La boucle For évite ce problème en nécessitant les expressions d'initialisation et d'incrémentation entre les parenthèses de départ. Cela conduit à des scripts plus propres et plus robustes.

Quand devez-vous utiliser la boucle For dans PowerShell ?

PowerShell consiste à créer des scripts pour l'automatisation. Et l’outil le plus utile pour y parvenir est probablement la boucle For. Vous pouvez l'utiliser pour remplacer de nombreuses opérations de copier-coller par un script plus compact et élégant.

La fonction la plus courante de cette boucle est de parcourir un tableau, une entrée à la fois. Pour un script encore plus simple, vous pouvez également utiliser une boucle ForEach. Vous pouvez également utiliser la boucle For pour générer des séquences numériques, bien que cela soit rarement nécessaire.

La boucle For surpasse les autres algorithmes de boucle en incluant toutes les fonctions essentielles d'une boucle dans les paramètres, évitant ainsi toute erreur due à l'oubli de ces instructions. Cela rend la boucle For indispensable dans tout scénario appelant à répéter un ensemble de commandes.

.

Articles Similaires:


5.04.2022