Variable qui ne s'incrémente pas dans un batch

Résolu/Fermé
random - Modifié le 28 mai 2019 à 11:18
 random - 28 mai 2019 à 11:36
Bonjour à tous.

Pour me familiariser avec la programmation dans les fichiers .bat, j'ai voulu créer un petit programme qui fais changer les couleurs de cmd en boucle. J'ai donc créé une boucle avec un if et une variable qui s'incrémente à chaque tour. Voici le code. (je sais que le goto n'est pas au bon endroit)

set /a variable="0"
:retour
echo %variable%
pause
if "%variable%" leq "16" (
 set /a variable="%variable%+1"
)
goto retour

Le programme marche parfaitement pour les 2 premières boucle. Après cela, l'opération n'a plus l'air d'avoir effet et la variable reste à la valeur 2.

Merci d'avance pour vos réponses

1 réponse

jee pee Messages postés 39583 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 avril 2024 9 225
Modifié le 28 mai 2019 à 11:20
Bonjour,

Tu ne devrais pas mettre de " " sur les nombres. Lors du test il doit y avoir un test non numérique, mais alphabétique où "2" est supérieur à "16", le test se faisant sur le 1er caractère.

set /a variable=0
:retour
echo %variable%
pause
if %variable% leq 16 (
  set /a variable=%variable%+1
  goto retour
)


Cdlt
1
Aaaaah merci beaucoup !
0