Dans PowerShell, certaines boucles vérifient une condition avant de lancer leurs instructions. La boucle do while prend le chemin inverse : elle exécute d’abord un bloc, puis décide si elle doit recommencer. Cette différence, qui tient à l’ordre des opérations, devient très pratique lorsqu’une action doit avoir lieu au moins une fois, comme demander une saisie ou tenter une connexion avant d’en vérifier le résultat.
Pour la comprendre, suivons Lina, qui prépare un petit script afin de contrôler les sauvegardes d’un atelier. Elle veut afficher un premier état, puis répéter la vérification tant qu’un fichier attendu reste absent. La boucle do while PowerShell répond à ce besoin sans ajouter de détour : une condition de boucle est évaluée après l’exécution du bloc.
La logique est simple, mais quelques détails évitent les boucles infinies : initialiser correctement la variable de contrôle, la modifier au bon endroit et vérifier que la condition peut finir par devenir fausse. Voici la syntaxe do while, ses différences avec do until et plusieurs exemples concrets pour utiliser ce contrôle de flux avec méthode.
L’article en bref
La boucle do while convient aux actions qui doivent commencer immédiatement, avant tout test. Quelques réflexes simples suffisent pour garder chaque itération lisible et maîtriser sa condition.
- Ordre des opérations : Le bloc s’exécute d’abord, puis la condition est évaluée.
- Syntaxe PowerShell : Utilisez do, un bloc entre accolades et while.
- Répétition maîtrisée : Faites évoluer la variable de contrôle à chaque passage.
- Choisir la bonne boucle : do until répète jusqu’à ce que la condition soit vraie.
À retenir : une boucle bien préparée automatise les vérifications sans laisser le script tourner indéfiniment.
Syntaxe do while en PowerShell : le bloc avant le test
La forme générale tient sur une ligne : do { instructions } while (condition). Les accolades délimitent les instructions à répéter, tandis que la condition placée après le bloc détermine si une nouvelle itération aura lieu.
Cette position change tout : même si la condition est fausse dès le départ, la première exécution du bloc a lieu. C’est utile pour afficher un premier résultat ou demander une valeur avant de décider si une nouvelle tentative est nécessaire.
Lire une boucle do while sans se tromper
Dans une boucle do while, PowerShell exécute les instructions entre accolades, évalue ensuite l’expression entre parenthèses et recommence si cette expression est vraie. La vérification de condition n’intervient donc jamais avant le premier passage.
La condition peut s’appuyer sur un compteur, un résultat de commande ou une valeur saisie. Pour garder le contrôle, le bloc doit généralement modifier au moins une donnée utilisée par cette condition.
Une vidéo de démonstration peut aider à visualiser le retour vers le début de la boucle. Mais le réflexe à conserver est plus simple : repérer où la condition est testée, puis identifier ce qui la fera changer.
Exemple concret PowerShell avec un compteur
Imaginons que Lina souhaite afficher trois contrôles successifs d’un dossier de sauvegarde. Une variable de contrôle nommée $tentative démarre à zéro, puis augmente à chaque passage. La boucle peut s’écrire ainsi : do { $tentative++; Write-Output « Contrôle numéro $tentative » } while ($tentative -lt 3).
Le premier passage affiche le contrôle numéro 1, puis la condition vérifie si le compteur est inférieur à 3. Après le troisième affichage, la condition devient fausse : la boucle s’arrête. Cet exemple concret PowerShell montre comment une mise à jour bien placée garantit une fin prévisible.
Les réflexes pour éviter une boucle infinie
Une boucle ne s’arrête que si sa condition finit par devenir fausse, ou si une instruction comme break interrompt son exécution. Avant de lancer un script, il est donc utile de vérifier la valeur initiale, l’expression de comparaison et la progression de la variable.
- Initialiser la variable avant le bloc lorsque la condition en dépend.
- Modifier cette variable dans le bloc, à chaque passage prévu.
- Tester un scénario court pour confirmer le nombre d’itérations.
- Prévoir une sortie explicite si le résultat attendu n’arrive jamais.
Si une commande attend un fichier qui n’apparaît pas, une limite de tentatives évite qu’un script reste actif sans fin. Une condition claire transforme ainsi une répétition potentiellement risquée en automatisation maîtrisée.
Les exemples vidéo peuvent également illustrer la différence entre une condition vraie et une condition fausse. Pour choisir la bonne forme, il reste à comparer do while et sa variante do until.
Boucle do while ou do until : quelle syntaxe choisir ?
Les deux boucles exécutent leur bloc au moins une fois. Leur différence se trouve dans la condition de poursuite : do while recommence tant qu’elle est vraie, tandis que do until recommence jusqu’à ce qu’elle devienne vraie.
Avec un compteur limité à trois tentatives, la logique do while s’exprime naturellement avec « inférieur à 3 ». La forme do until peut exprimer la même limite en répétant les instructions jusqu’à ce que le compteur atteigne 3. Le choix le plus lisible dépend souvent de la manière dont le problème est formulé.
| Boucle | La répétition continue si… | Exemple de lecture |
|---|---|---|
| do while | La condition est vraie | Recommencer tant qu’il reste des tentatives. |
| do until | La condition est fausse | Recommencer jusqu’à obtenir le fichier attendu. |
Une saisie répétée jusqu’à une valeur valide
Pour demander un choix à un utilisateur, une boucle do while peut afficher une question, récupérer la réponse avec Read-Host, puis recommencer tant que la valeur ne correspond pas aux choix acceptés. La demande apparaît une première fois avant toute vérification, ce qui correspond précisément au besoin.
Dans un script partagé, la condition gagne à être explicite : par exemple, recommencer tant que la réponse n’est ni « oui » ni « non ». Cette formulation rend le contrôle de flux plus facile à relire et à modifier qu’une expression compacte difficile à interpréter.
Quand utiliser do while dans un script PowerShell
La boucle est particulièrement adaptée aux tâches dont la première action est obligatoire : proposer un menu, demander une saisie, effectuer un premier contrôle ou lancer une tentative avant d’examiner son résultat. Elle convient moins lorsqu’il faut vérifier d’abord si le bloc doit s’exécuter ; dans ce cas, une boucle while classique peut être plus appropriée.
Pour l’atelier de Lina, le bon choix dépend donc du scénario. Si le script doit contrôler le dossier au moins une fois, do while est cohérent ; si le contrôle ne doit commencer que lorsqu’un dossier existe déjà, il vaut mieux tester cette condition avant la boucle.
- Choisir do while quand une première exécution est nécessaire.
- Choisir while quand la condition doit être validée avant le bloc.
- Choisir do until quand la règle se formule naturellement par un objectif à atteindre.
La meilleure boucle n’est pas la plus courte, mais celle dont la règle d’arrêt se comprend au premier regard. Cette clarté devient précieuse dès qu’un script est repris par une autre personne.
Une boucle do while PowerShell s’exécute-t-elle toujours au moins une fois ?
Oui. PowerShell exécute d’abord le bloc do, puis évalue la condition placée après while. Le bloc passe donc une première fois, même si la condition est fausse dès le départ.
Quelle est la différence entre do while et do until ?
do while répète les instructions tant que sa condition est vraie. do until les répète jusqu’à ce que sa condition devienne vraie ; les deux commencent par exécuter le bloc une première fois.
Comment arrêter une boucle do while infinie ?
Vérifiez que la variable utilisée dans la condition évolue dans le bloc et que la comparaison peut devenir fausse. Une instruction break peut aussi interrompre la boucle lorsqu’un cas de sortie est rencontré.
Quand préférer une boucle while à do while ?
Utilisez while lorsque le bloc ne doit s’exécuter que si la condition est vraie dès le départ. Avec do while, le bloc s’exécute toujours une première fois avant la vérification.




