Stringvariable verketten
Hallo,
leider komme ich aktuell mit einem relativ einfachem Problem nicht weiter.
Ich benötige in einer Batchdatei die Möglichkeit den Dateinamen in einer Schleife zu ändern. Leider funktioniert das so nicht und ich finde nicht die richtige Syntax für die Verkettung.
Kann mir hier jemand von euch weiterhelfen?
leider komme ich aktuell mit einem relativ einfachem Problem nicht weiter.
Ich benötige in einer Batchdatei die Möglichkeit den Dateinamen in einer Schleife zu ändern. Leider funktioniert das so nicht und ich finde nicht die richtige Syntax für die Verkettung.
@echo off
set obj.Name=Hoyerswerda
set obj.ID=07393
set obj[1].Name=Cottbus
set obj[1].ID=00880
set obj[2].Name=Bischdorf
set obj[2].ID=00504
set obj[3].Name=Leipzig_Halle
set obj[3].ID=02932
set obj[4].Name=Kubschuetz
set obj[4].ID=00314
set "Dat1=tageswerte_RR_"
set "Dat2=_akt.zip"
FOR /L %%i IN (0 1 2) DO (
set y=%Dat1%%%obj[%%i].ID%%%Dat2%
call echo %%y%%
call echo %Dat1%%%obj[%%i].ID%%%Dat2%
pause
)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3219412193
Url: https://administrator.de/contentid/3219412193
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
für Variable in Variable benötigst du die Variablenverzögerung.
Oder einfach mit Powershell arbeiten:
Gruß Thomas
für Variable in Variable benötigst du die Variablenverzögerung.
@echo off
setlocal EnableDelayedExpansion
set obj.Name=Hoyerswerda
set obj.ID=07393
set obj[1].Name=Cottbus
set obj[1].ID=00880
set obj[2].Name=Bischdorf
set obj[2].ID=00504
set obj[3].Name=Leipzig_Halle
set obj[3].ID=02932
set obj[4].Name=Kubschuetz
set obj[4].ID=00314
set "Dat1=tageswerte_RR_"
set "Dat2=_akt.zip"
for /L %%I in (0 1 2) do call :Verketten "%Dat1%!obj[%%I].ID!%Dat2%"
pause
goto :EoF
:Verketten
echo %~1
Oder einfach mit Powershell arbeiten:
$obj = @(
@{Name = "Hoyerswerda" ; ID = "07393"}
@{Name = "Cottbus" ; ID = "00880"}
@{Name = "Bischdorf" ; ID = "00504"}
@{Name = "Leipzig_Halle" ; ID = "02932"}
@{Name = "Kubschuetz" ; ID = "00314"}
)
$Prefix = "tageswerte_RR_"
$Suffix = "_akt.zip"
0..2 | Foreach {
$Prefix + $Obj[$_].ID + $Suffix
}
Gruß Thomas