Set Variable2 gleich Variable1
Hallo zusammen,
wollte mir gerade ein paar Pfadnamen mit SET zusammenbauen, und komme an der Stelle ins straucheln, an der
ich einer Variablen den Wert einer anderen Variablen zuweisen will.
Die ersten drei Variablen klappen, aber die Variable ziel_uord bleibt immer leer? SET /? hat mir nicht weitergeholfen.
Wo liegt da der Fehler?
Grüße, Ghune
wollte mir gerade ein paar Pfadnamen mit SET zusammenbauen, und komme an der Stelle ins straucheln, an der
ich einer Variablen den Wert einer anderen Variablen zuweisen will.
set zeitstempel = %date:~6,4%%date:~3,2%%date:~0,2%
set ziel_drv = "D:\"
set ziel_ord = "IMAGE"
set ziel_uord = %ziel_drv%%ziel_ord%%zeitstempel%
Die ersten drei Variablen klappen, aber die Variable ziel_uord bleibt immer leer? SET /? hat mir nicht weitergeholfen.
Wo liegt da der Fehler?
Grüße, Ghune
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 153661
Url: https://administrator.de/forum/set-variable2-gleich-variable1-153661.html
Ausgedruckt am: 17.04.2025 um 12:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo ghune,
du erzeugst Äpfel und fragst anschließend nach Birnen.
set ziel_drv = xyz erzeugt eine Variable %ziel_drv % (man beachte das Leerzeichen am Ende).
Grüße
rubberman
du erzeugst Äpfel und fragst anschließend nach Birnen.
set ziel_drv = xyz erzeugt eine Variable %ziel_drv % (man beachte das Leerzeichen am Ende).
set "zeitstempel=%date:~6,4%%date:~3,2%%date:~0,2%"
set "ziel_drv=D:\"
set "ziel_ord=IMAGE"
set "ziel_uord=%ziel_drv%%ziel_ord%%zeitstempel%"
rubberman
Hallo ghune,
die Sache ist ganz einfach, vermeide Leerzeichen, wo keine hingehören.
In deinem Fall wird ein Leerzeichen vor dem = dem Variablennamen hinzugefügt und das Leerzeichen danach wird dem Wert vorangestellt.
Teste:
Wenn ich das ganze oben noch in Anführungszeichen eingeschlossen habe, dann um zu verhindern, dass mögliche Leerzeichen hinter dem Wert auch noch übernommen werden.
Grüße
rubberman
die Sache ist ganz einfach, vermeide Leerzeichen, wo keine hingehören.
In deinem Fall wird ein Leerzeichen vor dem = dem Variablennamen hinzugefügt und das Leerzeichen danach wird dem Wert vorangestellt.
Teste:
@echo off &setlocal
set var1 = val1
set var1=val2
echo %var1 %
echo %var1%
pause
Grüße
rubberman
Hallo ghune.
So schlimm ist es dann auch wieder nicht.
Natürlich rücke ich den Code auch ein, wenns damit leserlicher wird. Alles was du an Tabs oder Leerzeichen vor die Zeile schreibst, bleibt unbeachtet.
Ist doch schön, auf dem ersten Blick zu sehen, dass der set-Befehl innerhalb der for-Schleife ausgeführt wird 
Grüße
rubberman
So schlimm ist es dann auch wieder nicht.
Natürlich rücke ich den Code auch ein, wenns damit leserlicher wird. Alles was du an Tabs oder Leerzeichen vor die Zeile schreibst, bleibt unbeachtet.
@echo off &setlocal
for /l %%i in (1,1,2) do (
set "var%%i=val%%i"
)
echo %var1%
echo %var2%
pause
Grüße
rubberman