• 4 heures
  • Facile

Mis à jour le 07/11/2019

Étiquettes et boucles

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Si l'on devait écrire 500 fois "Bonjour", on pourrait écrire 500 fois "echo Bonjour", mais cela serait une vraie perte de temps ! Dans ce chapitre, les boucles vont fourniront un moyen simple pour ne pas vous répéter.

Utiliser les étiquettes avec GOTO

Les étiquettes

Les étiquettes sont des instructions qui permettent (à l'aide de l'instruction goto) de répéter le programme, ou une partie de celui-ci. Créer une étiquette est encore plus facile que d'afficher un message à la fenêtre ! Il suffit de mettre : puis de rajouter le nom de l'étiquette.

Voici un petit exemple :

:nom_de_l_etiquette

GOTO

GOTO est une fonction très utile pour des jeux avec répétitions. Elle sert à renvoyer l'utilisateur à un endroit précis, comme le début. :) Elle est utilisée généralement dans/comme des boucles. Les boucles for peuvent être comparée à while dans d'autres langages, elles continueront un nombre de fois non défini à l'avance, qui dépendra du moment où la condition sera respectée.

goto debut

Avec cette fonction, je vous laisse imaginer ce que vous allez pouvoir faire. :honte:

Alors n'attendez pas, testez cette fonction et amusez-vous !

La boucle for

La boucle for permet d'exécuter un nombre de fois défini une action. Le principe de la boucle for est de monter de x  fois une variable à chaque tour de boucle en répétant des instructions. Pour la boucle, les variables s'écrivent avec %%nom_de_variable.

Voici un exemple:

for %%v in (5 4 3 2 1) do (
  echo %%v
)

Le code ci-dessus affichera :

5
4
3
2
1

Analysons le code

On déclare la variable v qui va partir de 5 après de 4 jusqu'à 1. Ensuite, on utilise do qui dit à l'ordinateur ce qu'il doit faire. Nous ouvrons la parenthèse et nous exécutons nos instructions puis nous refermons la parenthèse qui marque la fin de la boucle.

Oui, mais ça veut dire que si l'on veut aller jusqu'à 50, on doit taper 50, 49, etc., non?

Heureusement, non ! Pour faire cela, on utilise une commande avec la syntaxe suivante :

for /l %%v in (0, 1, 50) do (
  echo %%v
)
  1. Le premier paramètre est la valeur de départ de la variable %%v.

  2. Le second paramètre est le pas, il ajoute 1 à %%v à chaque fois qu'il passe dans la boucle.

  3. Le troisième paramètre arrête la boucle lorsque %%v est égal à 50.

Une fois exécuté, ce code affiche :

0
1
2
3
4
5
6
7
8
9
10
.
.
.
49
50

Nous venons de voir comment la boucle for changeait en ajoutant /l, il existe cependant plusieurs autres possibilités :

  • for /d %variable IN (répertoire) pour exécuter des commandes sur tous les fichiers d'un répertoire

  • for /f ["options"] %variable IN (fichier.txt)  permet de parcourir le texte d'un fichier ou d'une chaine de caractère.

  • for /r pour traiter un répertoire et tous ses sous-dossiers.

Vous êtes désormais paré pour votre premier TP. Alors, n'attendons plus et jetons nous sur cette occasion de mettre vos connaissances en pratique 11 .

Exemple de certificat de réussite
Exemple de certificat de réussite