Mit For mehrere Variablen auslesen ? wie geht das ?.
Habe folgendes Problem….
Ich möchte in einer For schleife Variablenwerte übertragen wie geht das
Set “Counter=3” & REM Anzahl der Variablen 3
Set “A_1=c:\”
Set “A_2=d:\”
Set “A_3=e:\”
for /L %%N IN (1 1 %Counter%) DO (
dir A_%%N
)
letz sollte ein dir für c:\ d:\ und e:\ ausgeführt werden... klappt aber so nicht!.
Hier ist das Problem wie bekomme ich den Wert aus der Variable A_1 bis 3 ausgelesen ??
Danke für Eure Hilfe ;-.)
Der Vipy
Ich möchte in einer For schleife Variablenwerte übertragen wie geht das
Set “Counter=3” & REM Anzahl der Variablen 3
Set “A_1=c:\”
Set “A_2=d:\”
Set “A_3=e:\”
for /L %%N IN (1 1 %Counter%) DO (
dir A_%%N
)
letz sollte ein dir für c:\ d:\ und e:\ ausgeführt werden... klappt aber so nicht!.
Hier ist das Problem wie bekomme ich den Wert aus der Variable A_1 bis 3 ausgelesen ??
Danke für Eure Hilfe ;-.)
Der Vipy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 227851
Url: https://administrator.de/contentid/227851
Ausgedruckt am: 25.11.2024 um 14:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Vipy,
Die Verzögerte Variablenerweiterung in Kombination mit dem Befehl (enabledelayedexpansion) bewirkt das alles was zwischen zwei Ausrufezeichen steht erst zur Ausführungszeit des Scriptes expandiert wird anstatt schon beim Parsen des Scriptes.
Grüße Uwe
@echo off & setlocal enabledelayedexpansion
set "A_1=c:\"
set "A_2=d:\"
set "A_3=e:\"
for /L %%N IN (1 1 %Counter%) DO @(
dir !A_%%N!
)
Grüße Uwe
Hallo Viper-Berlin!
Wäre es nicht einfacher, anstelle eines "Pseudo"-Arrays zB
zu verwenden?
Abgesehen davon könntest Du Dir, wenn es denn schon unbedingt %A_1% bis %A_x% sein sollen, zumindest das Zählen ersparen:
Grüße
bastla
Wäre es nicht einfacher, anstelle eines "Pseudo"-Arrays zB
for %%N in (c:\ d:\ e:\ "f:\auch mit Leerzeichen") do dir %%N
Abgesehen davon könntest Du Dir, wenn es denn schon unbedingt %A_1% bis %A_x% sein sollen, zumindest das Zählen ersparen:
for /f "tokens=1* delims==" %%i in ('set A_') do dir "%%j"
bastla