Variable variable en DOS ???? - Divers - Programmation
Marsh Posté le 26-02-2006 à 15:39:36
Les % sont interprétés de gauche à droit :
%DRV%Cnt%%
sera donc considéré comme une concaténation de :
%DRV%
Cnt
et
%%
et retournera donc Cnt puisque DRV n'est pas initialisé.
Marsh Posté le 26-02-2006 à 16:12:55
Donc commment faire pour avoir le contenu de %DRV1% en utilisant une concaténation pour l'obtenir ?
DRV%Cnt% est bien égal à DRV1 mais comment obtenir la valeur de DRV1 en utiilisant DRV%Cnt% ?
Merci.
Marsh Posté le 26-02-2006 à 16:43:50
Ce n'est pas possible malheureusement. Même dans les langages plus avancés, ça ne doit pas être évident non plus. Alors que le batch...
Par contre, tu peux utiliser ta boucle pour générer un deuxième batch dans lequel les variables seront appelées une par une de façon "séquentielle".
Marsh Posté le 28-02-2006 à 20:46:17
Ok !
Bonn je sais qu'en VBS ça marche, mais bon j'ai pas envie de me convertir le code en VBS... Pas le temps !
Dommage qu'on ne puisse pas pointer sur un pointeur de pointeur comme en C...
@+ et Merci
Marsh Posté le 26-02-2006 à 12:46:13
Bonjour,
Est in possible de faire une variable Variable en dos ...
Je m'explique :
J'ai des variables DRV1,DRV2,DRV3 etc... Et une compteur Cnt.
Dans une boucle je voudaris pouvoir faire ceci :
:LoopCount
Set D=%DRV%Cnt%%
Set E=%Elm%Cnt%%
echo "Drive%Cnt% : %D% --> Element : %E%"
set /A Cnt = %Cnt% + 1
If %Cnt% GTR %NbDrive% goto Fin
Goto LoopCount
C'est là que ca coince...
Set D=%DRV%Cnt%%
Set E=%Elm%Cnt%%
Je n'arrive pas à construire une varible et à en récupérer le contenu
Ex : DRV1 contient mt3.0.0.2
Je veux construire une variable DRV%Cnt% et récupérer le contenu ( DRV1, DRV2...)
en faite je voudrais avoir la même chose que ça mais via une boucle
echo "Drive1 : %DRV1% --> Element : %Elm1%
echo "Drive2 : %DRV2% --> Element : %Elm2%
echo "Drive3 : %DRV3% --> Element : %Elm3%
Suis-je assez clair ?
Merci pour votre aide..