mc-doubleyou
Goto Top

Variable soll Variable setzen

Hallo zusammen,

ich versuche eben bestimmt durch eine Variable eine andere zu definieren, ich hatte gehofft das ginge so - aber leider nicht

set Autos=fahren
set Menschen=gehen

set var1=Autos

echo %var1% %%var1%%

leider bekomme ich dann

Autos %Autos%

Hoffe es kann jemand helfen und schönes Wochenende!

LG mcdy

Content-Key: 225409

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: colinardo
Solution colinardo Dec 27, 2013 updated at 18:40:49 (UTC)
Goto Top
Hallo mcdy,
@echo off & setlocal enabledelayedexpansion
set Autos=fahren
set Menschen=gehen
set var1=Autos
echo %var1% !%var1%!
Exkurs Verzögerte Variablenerweiterung

Grüße Uwe
Member: mc-doubleyou
mc-doubleyou Dec 27, 2013 at 18:30:23 (UTC)
Goto Top
Hallo colinardo,

also ich bekomme nun:

Autos !Autos!

Klappt es bei dir?

LG mcdy
Member: colinardo
Solution colinardo Dec 27, 2013 updated at 18:40:53 (UTC)
Goto Top
yip, dann hast du
setlocal enabledelayedexpansion
am Anfang des Scripts vergessen.
Member: mc-doubleyou
mc-doubleyou Dec 27, 2013 at 18:40:32 (UTC)
Goto Top
Hallo colinardo,

stimmt, weiß zwar immer noch nicht was das bewirkt, aber es ist scheinbar nützlich ^^

Danke!
Member: colinardo
colinardo Dec 27, 2013 updated at 18:51:36 (UTC)
Goto Top
Zitat von @mc-doubleyou:
stimmt, weiß zwar immer noch nicht was das bewirkt, aber es ist scheinbar nützlich ^^
siehe dir den Link an den ich im ersten Kommentar geschrieben habe.
Durch das Verwenden der verzögerten Variablenerweiterung wird dem Befehlsinterpreter mitgeteilt das er alles was zwischen zwei Ausrufezeichen steht erst zur Ausführungszeit des Scripts expandiert wird, während alles was zwischen zwei Prozentzeichen steht bereits beim Parsen des Scripts expandiert wird.
Member: bastla
bastla Dec 27, 2013 updated at 20:52:14 (UTC)
Goto Top
... und noch als Ergänzung: Mit der folgenden Zeile 6
call echo %var1% %%%var1%%%
ginge es auch ohne "delayedExpansion" ...

Grüße
bastla