Pendant la mise en œuvre de la déclaration

Il n'y a pas d'instruction while directe disponible dans Batch Script, mais nous pouvons faire une implémentation de cette boucle très facilement en utilisant l'instruction if et les étiquettes.

Le diagramme suivant montre l'explication schématique de cette boucle.

La première partie de l'implémentation while consiste à définir les compteurs qui seront utilisés pour contrôler l'évaluation de la condition «si». Nous définissons ensuite notre étiquette qui sera utilisée pour incarner tout le code de l'implémentation de la boucle while. La condition «if» évalue une expression. Si l'expression prend la valeur true, le bloc de code est exécuté. Si la condition est évaluée à false, la boucle est quittée. Lorsque le bloc de code est exécuté, il retournera à l'instruction d'étiquette pour exécution à nouveau.

Voici la syntaxe de l'implémentation générale de l'instruction while.

Syntaxe

Set counters
:label
If (expression) (
   Do_something
   Increment counter
   Go back to :label
)
  • L'ensemble du code de l'implémentation while est placé à l'intérieur d'une étiquette.

  • Les variables de compteur doivent être définies ou initialisées avant le démarrage de l'implémentation de la boucle while.

  • L'expression de la condition while est effectuée à l'aide de l'instruction «if». Si l'expression a la valeur true, le code correspondant à l'intérieur de la boucle «if» est exécuté.

  • Un compteur doit être correctement incrémenté à l'intérieur de l'instruction 'if' afin que l'implémentation while puisse se terminer à un moment donné.

  • Enfin, nous reviendrons à notre étiquette afin de pouvoir à nouveau évaluer notre déclaration «si».

Voici un exemple d'instruction de boucle while.

Exemple

@echo off
SET /A "index = 1"
SET /A "count = 5"
:while
if %index% leq %count% (
   echo The value of index is %index%
   SET /A "index = index + 1"
   goto :while
)

Dans l'exemple ci-dessus, nous initialisons d'abord la valeur d'une variable d'index entier à 1. Ensuite, notre condition dans la boucle 'if' est que nous évaluons la condition de l'expression comme étant cet index s'il est inférieur à la valeur de la variable de comptage. Jusqu'à ce que la valeur de l'index soit inférieure à 5, nous imprimerons la valeur de l'index puis incrémenterons la valeur de l'index.

Production

La commande ci-dessus produit la sortie suivante.

The value of index is 1
The value of index is 2
The value of index is 3
The value of index is 4
The value of index is 5