Hallo Zusammen,
ich habe folgendes Problem:
Ich will in einer Win32 Batch ein File (my_list.txt) das eine Liste von
Dateinamen enthält zeilenweise einlesen. Jede eingelesene Zeile soll
nacheinander an eine Umgebungsvariable angehängt werden. Ein
Beispiel...
Batch Code
1 | set MY_VAR=init
|
2 |
|
3 | for /f "tokens=*" %%A in (my_list.txt) do (
|
4 | echo %%A
|
5 | set MY_VAR=%MY_VAR% %%A
|
6 | )
|
7 |
|
8 | echo %MY_VAR%
|
Angenommen my_list.txt hat den Inhalt:
../../myfile_1.vhd
../../myfile_2.vhd
../../myfile_3.vhd
dann soll MY_VAR am Ende den Wert
MY_VAR=init ../../myfile_1.vhd ../../myfile_2.vhd ../../myfile_3.vhd
enthalten.
Soweit so gut. Das Einlesen aus dem File klappt. Allerdings läuft es
etwas anders ab als geplant:
Antwort in Console
1 | echo ../../myfile_1.vhd
|
2 | set MY_VAR=init ../../myfile_1.vhd
|
3 |
|
4 | echo ../../myfile_2.vhd
|
5 | set MY_VAR=init ../../myfile_2.vhd
|
6 |
|
7 | echo ../../myfile_3.vhd
|
8 | set MY_VAR=init ../../myfile_3.vhd
|
9 |
|
10 | echo init
|
Es scheint so, dass die Zuweisung
nur lokal gültig ist. Die Variable konkateniert sich nicht auf sondern
behält am Ende ihren Initialwert.
Ich hab schon duzendfach rumprobiert aber bekomme das einfach nicht
gebacken. Ich hoffe ihr könnt mir helfen.