rip_pit Posté(e) le 10 août 2012 Partager Posté(e) le 10 août 2012 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 More sharing options...
POLAURENT Posté(e) le 10 août 2012 Partager Posté(e) le 10 août 2012 et pourquoi pas set %final% Lien vers le commentaire Partager sur d’autres sites More sharing options...
rip_pit Posté(e) le 10 août 2012 Auteur Partager Posté(e) le 10 août 2012 ouais ! merci pRoLaurent Arff non! j'arrive pas a le faire fonctionner Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 11 août 2012 Partager Posté(e) le 11 août 2012 Attention Rip_Pit, mais tu dois déjà le savoir, il ne faut pas d'espace lorsque tu affectes une valeur à tes variables : set mp31=texte1 set mp32=texte2 set mp33=texte3 set mp34=texte4 set mp35=texte5 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jimi Posté(e) le 11 août 2012 Partager Posté(e) le 11 août 2012 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 More sharing options...
Ldfa Posté(e) le 11 août 2012 Partager Posté(e) le 11 août 2012 Je savais que seul Jimi connaissait la solution. Lien vers le commentaire Partager sur d’autres sites More sharing options...
POLAURENT Posté(e) le 11 août 2012 Partager Posté(e) le 11 août 2012 bravo Jimi , ça c'est de la fonction , c'est vrai que ce n'est pas très bien documenté. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.