Aller au contenu

ms dos : evaluer une variable ?


rip_pit

Messages recommandés

salut, je cherche a evaluer une variable composée, un exemple sera plus parlant :

set mp31 = texte1
set mp32 = texte2
set mp33 = texte3
set mp34 = texte4
set mp35 = texte5
REM etc.

REM un nombre aleatoire entre 1 et 10
SET /a num=(%Random% %%10)+1
SET final=mp3%num%

echo %final%
REM retourne un nom de variable

REM comment evaluer ce nom de variable pour afficher sa valeur ?

 

Ca donne par exemple

final = mp35

 

mais j'aimerai arriver à

final = texte5

plutot que

 

final = mp35

 

Mais je n'arrive pas a évaluer ce résultat (mp35) pour obtenir la valeur de %mp35%

quelqu'un à t'il une idée ?

Lien vers le commentaire
Partager sur d’autres sites

il faut utiliser :

setlocal enabledelayedexpansion

qui permet de manipuler des variables dans d'autres variables

( pas tres connu, je dois dire )

 

@echo off
set mp31=texte1
set mp32=texte2
set mp33=texte3
set mp34=texte4
set mp35=texte5
set mp36=texte6
set mp37=texte7
set mp38=texte8
set mp39=texte9
set mp310=texte10
setlocal enabledelayedexpansion
set /a num=(%Random% %%10)+1
set final=mp3%num%
echo !%final%!
pause
goto exit
:exit

 

hop

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.