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:// | ||