wiefreak
Goto Top

For-Laufvariablen an andere Übergeben

Guten Morgen,
ich bin etwas verwirrt,

ich habe folgende Batchdatei ausgeführt

for /f "usebackq tokens=1-5 delims=;" %%a in ("datei.csv") do @(  
echo %%a>>1.txt
echo %%b>>2.txt
echo %%c>>3.txt
)
Es hat alles funktioniert und jede Spalte wurde genau wie ich es wollte in eine Extra-Datei geschrieben

Nun wollte ich das ganze aber noch etwas erweitern und dafür die Laufvariablen (%%a , %%b usw.) an andere Variablen übergeben.
Wenn ich jetzt aber diesen Code ausführe:
for /f "usebackq tokens=1-5 delims=;" %%a in ("datei.csv") do @(  
set "Eins=%%a"  
set "zwei=%%b"  
set "drei=%%c"  
echo %eins%
echo %zwei%
echo %drei%
pause
)
erhalte ich immer nur die Ausgabe:

ECHO ist Angeschaltet (ON)
ECHO ist Angeschaltet (ON)
ECHO ist Angeschaltet (ON)
ECHO ist Angeschaltet (ON)
ECHO ist Angeschaltet (ON)
...

als ob die Variable leer wäre und nur echo ausgeführt werden würde.

Wie kann ich die Laufvariablen an Andere Variablen übergeben?
Danke im Vorraus,
Wiefreak

Content-Key: 214372

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

Printed on: April 26, 2024 at 23:04 o'clock

Member: colinardo
Solution colinardo Aug 15, 2013, updated at Jul 29, 2014 at 19:58:08 (UTC)
Goto Top
Hallo WieFrieak,
Stichwort ENABLEDELAYEDEXPANSION:
for /f "usebackq tokens=1-5 delims=;" %%a in ("datei.csv") do @(  
setlocal ENABLEDELAYEDEXPANSION
set "Eins=%%a"  
set "zwei=%%b"  
set "drei=%%c"  
echo !eins!
echo !zwei!
echo !drei!
pause
)

Grüße Uwe
Member: bastla
Solution bastla Aug 15, 2013, updated at Jul 29, 2014 at 19:58:09 (UTC)
Goto Top
Hallo Wiefreak!

Warum willst Du "andere Variable" verwenden?

Wenn es wirklich einen guten Grund dafür gibt, ist Dein Stichwort "delayedExpansion".

Grüße
bastla