Mettre un nombre a une variable Batch

[Résolu/Fermé]
Signaler
Messages postés
130
Date d'inscription
dimanche 17 avril 2011
Statut
Membre
Dernière intervention
19 novembre 2014
-
Messages postés
130
Date d'inscription
dimanche 17 avril 2011
Statut
Membre
Dernière intervention
19 novembre 2014
-
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

Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 002
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
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 002
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.
Messages postés
130
Date d'inscription
dimanche 17 avril 2011
Statut
Membre
Dernière intervention
19 novembre 2014
2
oui pardon je disais utiliser un chiffre comme nom de variable, donc il n'y a pas d'alternative ?
Messages postés
130
Date d'inscription
dimanche 17 avril 2011
Statut
Membre
Dernière intervention
19 novembre 2014
2
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
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 002
> Tu peux toujours remplacer 1 par un, 4 par quatre, etc.

C'est ce que je t'avais suggéré :)
Messages postés
130
Date d'inscription
dimanche 17 avril 2011
Statut
Membre
Dernière intervention
19 novembre 2014
2
oui c'est vrai, enfin ma technique marche aussi, sauf pour zéro malheureusement
merci beaucoup quand même :)