Probleme de variables en batch [Fermé]

Signaler
-
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
-
Bonjour,
je souhaite proposer un choix à l'utilisateur de ce batch,
J'ai commencé par faire ce choix par:


echo Pour mettre le texte en noir et blanc pour une raison de lisibilite;
echo.
echo tapez o, sinon quittez avec n.
set /p changer de couleur?=
if %changer de couleur?%==o goto ici
if not %changer de couleur?%==o goto la
:ici
(mon prog)
:la
(mon prog)


Mais cela ne marchait pas, ça ne marchait que si l'on changeait le texte en noir et blanc, sinon la fenêtre fermait.


J'ai essayé avec else cela ne marche pas non plus, j'ai donc tentecho Pour mettre le texte en noir et blanc

echo tapez o, sinon quittez avec n.
set /p changer de couleur?=
set variable=%changer de couleur?%
if %changer de couleur?%==o (
goto ici)
else (
goto suite
)

:ici
@ color 0f
cls
goto suite
:suite
(mon prog)

2 réponses

Messages postés
769
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
24 février 2011
166
Salut alors tu ne peut pas mettre d'espace dans un variable.
Remplacer les espaces par "." ou "-" ou "_".
Et dans un variable tu peut pas mettre non plus de "?" ou de "!".
Enfin tout les signe.
Tu peut mettre que des lettre. Et des nombre, si il ne sont pas mit en premier.

Exemple de variable correct:
changer-de_couleur
changer-de.couleur02
variable52

Exemple de variable incorrect:
Sa-va?
52Variable

Voila j'espère t'avoir aider.
Bilou.
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 544
echo tapez o, sinon quittez avec n.
set /p changer de couleur?=
set variable=%changer de couleur?%


Mmmhhh... plutôt ça :

echo Tapez o, sinon quittez avec n.
set /p couleur=Changer de couleur ?
if %couleur% ...

Une petite aide sur "set", si tu maîtrises un peu l'anglais :

https://ss64.com/nt/set.html