Mettre un nombre a une variable Batch

Résolu/Fermé
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 - 26 oct. 2011 à 11:13
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 - 27 oct. 2011 à 16:03
Bonjour,
Je suis actuellement entrain de faire un petit programme en batch pour pote, dans ce programme j'assigne à une lettre, une autre lettre, je voudrais faire de même avec des nombres sauf que quand je rentre un nombre pour lui en associé un autre, le programme me met : "commande echo désactivé" c'est assez étrange
voici une partie du code :

@echo off
set num=0
set po=0
set a=p
set b=o
set 0=5
set 1=4
set 2=6

set /p nrb=Combien de caractere ? (max 26) :
cls

:debut


if %num%==%nrb% goto if

set /p le=Lettre numero %num% :

if %le%==a set po=%a%
if %le%==b set po=%b%
if %le%==0 set po =%0%
if %le%==1 set po =%1%
if %le%==2 set po=%2%
if %le%==3 set po=%3%
echo %po%

set t%num%=%po%

set /a num=%num%+1
@ping localhost -n 2 >nul
cls
goto debut

:if

echo %t0%%t1%%t2%%t3%%t4%%t5%%t6%%t7%%t8%%t9%%t10%%t11%%t12%%t13%%t14%%t15%%t16%%t17%%t18%%t19%%t20%%t21%%t22%%t23%%t24%%t25%

Quand je rentre 0,1 ou 2 "commande echo désactivé"
Merci de m'aider à résoudre mon problème

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 26/10/2011 à 12:08
Bonjour,

Les chiffres seuls ne peuvent pas être utilisés comme variables.
Il plante donc au niveau de ton set 0=5, du coup il n'arrive pas jusqu'à l'instruction d'effacement de l'écran (cls).
Il reste donc le echo désactivé qui vient de @echo off (ta première ligne)

Xavier
0
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 2
26 oct. 2011 à 12:54
merci je ne savais pas, est-ce possible de résoudre ce problème ou est-ce que c'est vraiment impossible de mettre un chiffre dans une variable ?
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 oct. 2011 à 13:33
Ce n'est pas mettre un chiffre dans une variable qui n'est pas possible, c'est d'utiliser un chiffre comme nom de variable.
Tu peux toujours remplacer 1 par un, 4 par quatre, etc.
0
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 2
26 oct. 2011 à 14:28
oui pardon je disais utiliser un chiffre comme nom de variable, donc il n'y a pas d'alternative ?
0
geekploy Messages postés 130 Date d'inscription dimanche 17 avril 2011 Statut Membre Dernière intervention 19 novembre 2014 2
26 oct. 2011 à 23:37
set zero=5
set un=4
set deux=6

if %le%==0 set po =%zero%
if %le%==1 set po =%un%
if %le%==2 set po=%deux%

j'ai réussi à résoudre le problème, merci quand même
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
27 oct. 2011 à 10:45
> Tu peux toujours remplacer 1 par un, 4 par quatre, etc.

C'est ce que je t'avais suggéré :)
0