Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
dev:powershell:structures_de_controle [2023/06/22 08:21] – yoann | dev:powershell:structures_de_controle [2023/06/23 12:07] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag> | {{tag> | ||
- | |||
- | :TODO: | ||
====== PowerShell : Les structures de contrôle ====== | ====== PowerShell : Les structures de contrôle ====== | ||
- | ===== ForEach | + | ===== Les boucles |
+ | |||
+ | ==== ForEach | ||
La boucle **ForEach** permet de traiter chaque éléments d'un tableau ou plus généralement d'un objet itérable : | La boucle **ForEach** permet de traiter chaque éléments d'un tableau ou plus généralement d'un objet itérable : | ||
Ligne 22: | Ligne 22: | ||
</ | </ | ||
- | ===== If ===== | + | ==== For ==== |
+ | |||
+ | La boucle **For** est utilisée dans les cas ou l'on souhaite répéter un nombre déterminé d' | ||
+ | |||
+ | <code powershell> | ||
+ | For($i=1; $i -le 10; $i++) { | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Do While ==== | ||
+ | |||
+ | Re-exécute un bloc d' | ||
+ | |||
+ | <code powershell> | ||
+ | # Repose la question tant que l' | ||
+ | # ne répond pas Oui | ||
+ | Do { | ||
+ | $userChoise = Read-Host -Prompt "Oui ou Non" | ||
+ | } While ($userChoise -ne " | ||
+ | </ | ||
+ | |||
+ | ==== Do Until ==== | ||
+ | |||
+ | Inversement, | ||
+ | |||
+ | <code powershell> | ||
+ | # Repose la question tant que l' | ||
+ | # pas Oui | ||
+ | Do { | ||
+ | $userChoise = Read-Host -Prompt "Oui ou Non" | ||
+ | } Until ($userChoise -eq " | ||
+ | </ | ||
+ | |||
+ | ==== While ==== | ||
+ | |||
+ | La boucle While commence par évaluer la condition avant l' | ||
+ | |||
+ | <code powershell> | ||
+ | $userChoise = ' | ||
+ | |||
+ | # La variable est initialisée à ' | ||
+ | # le bloc ci-dessous ne sera pas exécuté | ||
+ | While ( $userChoise -eq ' | ||
+ | $userChoise = Read-Host -Prompt "Oui ou Non" | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Break et Continue ==== | ||
+ | |||
+ | Les instructions **Break** et **Continue** permettent de modifier le comportement par défaut des boucles : | ||
+ | * **Continue** interrompt l' | ||
+ | * **Break** arrête complètement le traitement de la boucle. | ||
+ | |||
+ | Ces instructions peuvent être utilisées par exemple pour interrompre les traitements lorsque des données sont considérées invalides. | ||
+ | |||
+ | <code powershell> | ||
+ | # Applique des traitements sur l' | ||
+ | # des utilisateurs du tableau sauf l' | ||
+ | |||
+ | ForEach ($user in $users) { | ||
+ | If ($user.Name -eq " | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Les branchements ===== | ||
+ | |||
+ | ==== If ==== | ||
<code powershell> | <code powershell> | ||
Ligne 34: | Ligne 104: | ||
</ | </ | ||
- | ===== Switch | + | ==== Switch ==== |
Pour un branchement conditionnel à choix multiples, il peut être plus lisible d' | Pour un branchement conditionnel à choix multiples, il peut être plus lisible d' | ||
Ligne 60: | Ligne 130: | ||
</ | </ | ||
+ | Seconde remarque si la variable a évaluer est un tableau, chaque élément sera évaluer. | ||
===== Références ===== | ===== Références ===== | ||
* https:// | * https:// |