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

La boucle For est l'un des outils les plus précieux de tous les langages de programmation(valuable tools in any programming language) , 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 l'utilisation des boucles For dans PowerShell .

À quoi servent les (Use)boucles(Loops) For dans PowerShell ?

Contrairement à l'invite de commande(Command Prompt) , PowerShell est un environnement de script complet. Cela signifie que vous pouvez écrire des scripts PowerShell(PowerShell scripts) réutilisables pour effectuer automatiquement des tâches plutôt que d'entrer 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 certain nombre 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. Plus concrètement, vous pouvez itérer sur un tableau d'objets, en effectuant une action avec chaque entrée.

La syntaxe d'une (Syntax)boucle(Loop) 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(Initialization) ; Condition ; Mise à jour(Update) )

{

    Bloc de script(Script Block)

}

Comment utiliser la boucle(Loop) For dans un script PowerShell(PowerShell Script)

L'utilisation de 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 différente, vous devez la placer dans une boucle For.

Disons que vous devez écrire un extrait de code qui peut trouver la somme de tous les nombres naturels jusqu'à un nombre n , contenu dans la variable $n. Voici un exemple basique 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éder aux tableaux via une boucle For

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

Disons(Say) que vous avez un tableau $week avec sept éléments. Vous pouvez générer la liste des jours contenus dans le tableau à l'aide d'une simple boucle For, comme illustré dans l'exemple suivant.

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

{

    $semaine[$i]

}

Utilisation de la boucle ForEach(ForEach Loop) pour parcourir rapidement(Quickly Iterate) un tableau

Une autre forme de boucle For est l' instruction ForEach . Cette version simplifie la lecture du contenu d'un tableau PowerShell et son traitement individuel. 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(Loop Different) des autres types de boucles(Loops) ?

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

Tandis 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 vraie. Étant donné que 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. 

Tandis que ( condition )

{

    Bloc de script(Script Block)

}

Faire pendant

Si vous écrivez un script qui doit s'exécuter au moins une fois, même si l'expression est évaluée comme fausse, 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(Script block)

}

Tandis que ( condition )

Faire jusqu'à ce que

Une autre version de cette boucle est Do-Until . Fondamentalement(Basically) , 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 . Pas une structure particulièrement utile, car vous pouvez obtenir la même chose en modifiant la condition dans une boucle Do-While standard.(Do-While)

Faire {

    Bloc de script(Script Block)

}

Jusqu'à ( État(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. Vous devez vous rappeler manuellement de créer une variable en dehors de la boucle, puis de l'incrémenter (ou de 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 au 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 utiliser la boucle(Loop) For dans PowerShell ?

PowerShell consiste à créer des scripts pour l'automatisation. Et probablement l'outil le plus utile pour y parvenir est 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 d'itérer sur 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 se démarque des autres algorithmes de bouclage en incluant toutes les fonctions essentielles d'une boucle dans les paramètres, empêchant 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.



About the author

Je suis un ingénieur en matériel avec plus de 10 ans d'expérience dans le domaine. Je me spécialise dans les contrôleurs et les câbles USB, ainsi que dans les mises à niveau du BIOS et le support ACPI. Dans mes temps libres, j'aime aussi bloguer sur divers sujets liés à la technologie et à l'ingénierie.



Related posts