Entwickler-Ecke

Off Topic - Batch - Variablen aus Variablen


Martok - Sa 29.11.08 19:44
Titel: Batch - Variablen aus Variablen
Hi!

Aaalso. Ich schreibe eine Batch - bzw. CMD-Datei.
Man kann bei set den Namen der Variablen aus einer anderen zusammenbasteln. Beispiel:

Quelltext
1:
set "line%y%=abc"                    

Wenn man jetzt y aus einer Schleife holt, krieg ich line1,line2,line3 usw.

Die Frage ist: wie greift man darauf zu?

Quelltext
1:
echo %line%y%%                    

Sieht nicht nur komisch aus, sondern es funktioniert auch nicht.

Gleiches Problem stellt sich bei %a:~4,5%-Syntax. Wers nicht kennt: das ist im Grunde Copy. Aber wenn die Position nicht konstant ist, dann muss ich die irgendwie aus der Variable rauskriegen. Auch hier geht einfach %index% natürlich nicht.

EDIT: eine Idee hatte ich grade, aber die geht auch nicht:

Quelltext
1:
  for /F "tokens=" %%i in ("echo %%line%y%%%") do %%i                    

Keine Ausgabe...


Kreative Ideen?
Immer her damit :P

Danke schonmal,
Martok


jaenicke - Sa 29.11.08 20:13

Viel einfacher, habs grad so nochmal ausprobiert, geht ;-):

Quelltext
1:
2:
3:
4:
5:
setlocal EnableDelayedExpansion
set line1=abc
set y=1
echo !line%y%!
pause


Martok - Sa 29.11.08 20:19

Cool. !!-Syntax ist mir neu. Wieder was gelernt ;)

Credits.Add(user profile iconjaenicke)