Blog ENI : Toute la veille numérique !
🎃 Jusqu'à -30% sur les livres en ligne, vidéos et e-formations.
Code : GHOST30.
Cliquez ici !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PowerShell Core et Windows PowerShell
  3. Boucles et conditions
Extrait - PowerShell Core et Windows PowerShell Les fondamentaux du langage (2e édition)
Extraits du livre
PowerShell Core et Windows PowerShell Les fondamentaux du langage (2e édition)
7 avis
Revenir à la page d'achat du livre

Boucles et conditions

Les boucles

Une boucle est une structure répétitive qui permet d’exécuter plusieurs fois les instructions se trouvant à l’intérieur du bloc d’instructions. Il est important de maîtriser le concept des boucles car on le retrouve dans tout langage informatique et il est à la base de tout programme quel que soit le langage.

1. Boucle While

Les instructions du bloc d’instructions de cette boucle sont répétées tant que la condition de la boucle est satisfaite (est vraie). Autrement dit, dès que la condition est évaluée à la valeur $false, on sort de la boucle.

La syntaxe d’une boucle While est la suivante :


While (<condition>)  
{  
   #bloc d'instructions 
}
 

Son fonctionnement est le suivant :

1. La boucle évalue la condition.

2. Si la condition est fausse, le bloc d’instruction n’est pas exécuté et la boucle se termine. 

3. Si la condition est vraie, alors le bloc d’instructions est exécuté.

4. Retour à l’étape 1.

Voici un exemple basique d’une boucle While qui liste les valeurs contenues dans un tableau. Dans cette boucle, tant que la valeur $nombre est strictement inférieure à la taille du tableau, le bloc d’instructions retourne la valeur du tableau à l’indice $nombre.


$nombre = 0 
$tab = 0..99 
 
While($nombre -lt $tab.Length) 
{ 
   $tab[$nombre] 
   $nombre++ 
}
 

2. Boucle Do-While

La boucle Do-While s’apparente à la boucle While, à la différence près que la condition est évaluée à la fin. La boucle Do-While se structure de la façon suivante :


Do 
{ 
   #bloc d'instructions 
} 
While (<condition>)
 

Le test de condition étant à la fin, le bloc d’instructions est exécuté au moins une fois, même si le test est faux. Par exemple, avec la boucle suivante, l’utilisateur est amené à saisir un nombre entre 0 et 10 une première fois. Si le nombre saisi ne s’avère pas compris entre ces valeurs, alors le bloc d’instructions sera exécuté de nouveau.


Do 
{ 
   [int]$var = Read-Host 'Entrez une valeur entre...

Structure conditionnelle If, Else, ElseIf

Une structure conditionnelle permet, via une évaluation de condition, d’orienter l’exécution vers un bloc d’instructions ou vers un autre. La syntaxe d’une structure conditionnelle est la suivante :


If (condition) 
{ 
   #bloc d'instructions 
}
 

Pour mieux comprendre l’utilisation d’une structure conditionnelle, en voici quelques exemples :

Imaginons que nous souhaitions déterminer si une valeur entrée par l’utilisateur est la lettre A. Pour cela, nous allons utiliser une structure conditionnelle avec une condition sur la valeur de la variable testée. En utilisant un opérateur de comparaison, la structure est la suivante :


$var = Read-Host "Entrez un caractère" 
 
If ($var -eq 'A') 
{ 
   "Le caractère saisi par l'utilisateur est un 'A'" 
}
 

Si la variable entrée par l’utilisateur est un A, alors une chaîne de caractères sera émise, sinon l’exécution poursuivra son cours sans exécuter le bloc d’instructions suivant le If.

À l’instruction If peut être associée la clause Else. Cette clause permet en cas de retour d’une valeur False d’orienter le traitement vers un second bloc d’instructions. Prenons l’exemple...

Switch

L’instruction Switch permet de remplacer avantageusement toute une série de If, ElseIf et Else. À la différence de l’instruction If qui, pour une expression donnée, oriente la suite de l’exécution vers l’un des deux blocs d’instructions, l’instruction Switch oriente l’exécution vers plusieurs blocs d’instructions distincts. Et ce, avec une seule expression. Ce qui lui confère une utilisation nettement plus souple.

On peut construire un Switch de plusieurs manières, en fonction de ce que l’on veut tester.

1. Structure simple

La syntaxe de Switch est la suivante :


Switch (<Expression>)  
{  
    <Valeur_1> { bloc d'instructions 1 ; Break } 
    <Valeur_2> { bloc d'instructions 2 ; Break } 
    <Valeur_3> { bloc d'instructions 3 ; Break }   
    Default    { bloc d'instructions 4 }   
}
 

La valeur Default est facultative, son bloc d’instructions n’est exécuté uniquement dans le cas où l’expression ne correspond à aucune valeur.

Il est d’usage d’utiliser l’instruction Break à l’intérieur des blocs d’instructions. Cela permet de quitter le traitement Switch en cours. En effet...