der-blob
Goto Top

Variablen Nutzen welche aus dem Inhalt von Variablen erstellt werden

Hallo Zusammen,
der Titel ist zwar nicht direkt aussage kräftig, aber jedoch weis ich nicht wie ich es beschreiben soll...

Mein Problem ist wie folgt:

Ich lasse mir automatisiert Variablen erstellen (nennen wir sie Dummy1 Dummy2 Dummy3 Dummy4 usw...) , also 1 fester Wert (dummy) und dieser wird mit einem Zähler eröht. Am besten das Beispiel dazu ansehen (ja, das Beispiel hat im Moment garkeinen sinn so wie es augebaut ist, aber so geht es finde ich am einfachsten darzustellen was ich meine)


 
@echo off
setlocal enabledelayedexpansion
set zahl=1
:loop
if "!zahl!"=="5" goto :next  
if "!zahl!"=="1" set dummy!zahl!=a & set zahl1=1  
if "!zahl!"=="2" set dummy!zahl!=b & set zahl2=2  
if "!zahl!"=="3" set dummy!zahl!=c & set zahl3=3  
if "!zahl!"=="4" set dummy!zahl!=d & set zahl4=4  
set /a zahl=!zahl!+1
goto :loop
:next
set dummy

echo ^^!dummy!!zahl1!^^!!

Ich möchte über den echo Befehl nun den Inhalt von der Variable dummy1 sehen, welche ich mir über die Variable Zahl1 zusammenbaue.

Frage 1: Ist das Möglich? (ich rate mal aus dem Bauch hinaus ja... aber weis es nicht)
Frage 2: Wenn es möglich ist, WIE?!

Content-ID: 243840

Url: https://administrator.de/contentid/243840

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

colinardo
Lösung colinardo 16.07.2014, aktualisiert am 17.07.2014 um 08:11:43 Uhr
Goto Top
Moin,
Suchfunktion nutzen, kommt hier alle paar Tage die Frage:
Variablen abfragen, deren Name sich teils aus anderen Variablen ergibt
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /L %%a in (1,1,2) DO @(
 	set /a zahl+=1
	if !zahl! == 1 set dummy!zahl!=a
	if !zahl! == 2 set dummy!zahl!=b
	call echo Dummy hat den wert: %%dummy!zahl!%%
)
Grüße Uwe
der-blob
der-blob 17.07.2014 um 08:11:38 Uhr
Goto Top
Hallo Uwe

Danke für deine Lösung, jedoch bringt mich deine Lösung nicht weiter, mein Output ist nur:

Dummy hat den wert:
Dummy hat den wert:
.

Jedoch danke für den Link von der Frage, welche ich auch über Sufu hätte finde sollen (Schande über mein Haupt).

Die Lösung von Bastla hat mir jedoch weitergeholfen weitergeholfen.

call set "String=%%wert%Zahl%%%~%String%"
colinardo
colinardo 17.07.2014 um 08:13:25 Uhr
Goto Top
Zitat von @der-blob:
Danke für deine Lösung, jedoch bringt mich deine Lösung nicht weiter, mein Output ist nur:

Dummy hat den wert:
Dummy hat den wert:
bei mir gehts ....
der-blob
der-blob 17.07.2014 um 10:30:42 Uhr
Goto Top
Ich habe dies nun noch einmal getestet, nun funktionierte diese variante bei mir auch, hatte wahrscheinlich gestern Abend noch ein Fehler "eingebaut" als ich diese testete...