Echo du contenu d'une variable possible ? - Shell/Batch - Programmation
Marsh Posté le 22-04-2010 à 11:59:57
@Arcan : non car dans ton exemple test2 prend la valeur de test1
Ce qu'il souhaite est plutot une sorte de pointeur et ca n'existe pas en dos.
En bidouillant on faire quelque chose comme ceci :
for /f %i IN ('echo %%TEST2%%') do echo %i
Mais ca reste vraiemnt très crade.
@chuckboy2 : essaye d'envisager une autre manière de faire, ou passe sous un langue un peu plus évoluer.
Marsh Posté le 27-04-2010 à 14:52:56
Bon j'ai trouver une solution quelque peu crados mais qui fonctionne pour
avoir mes pointeurs dans mes batch !
Sous UNIX:
env | grep $TEST2 | while read line
do
EnvVar=`echo $line | cut -d'=' -f1`
EnvValue=`echo $line | cut -d'=' -f2`
if [ "$EnvVar" == "$TEST2" ]; then
ServiceFile=$EnvValue
fi
done
Sous Windows:
for /f "tokens=1 delims=" %%r in ('set %TEST2%') do (
for /f "tokens=1 delims==" %%s in ('echo %%r') do (
if "%TEST2%" == "%%s" (
for /f "tokens=2 delims==" %%t in ('echo %%r') do ( set ServiceFile=%%t)
)
)
)
C'est laid mais c'est a seule facon que j'ai trouvé !
Marsh Posté le 21-04-2010 à 11:52:35
Bonjour à vous,
J'ai un petit soucis dans le dévellopement d'un batch. J'ai un peu de mal à expliquer clairement donc je vous montre en 4 lignes !
J'ai deux variables:
set TEST1=VOILA
set TEST2=TEST1
J'aimerais accéder à la chaine définit pour TEST1 (donc VOILA) en passant uniquement par TEST2.
J'avais penser à un truc du genre : echo %('echo %TEST2%')%
L'exemple peu semblé un peu bidon mais j'ai besoin de ce cas de figure dans mon dévellopement.
Merci
François