Variablenverknüpfung in for-Schleife
Ich möchte in einer For-Schleife einen String ("quelle") zusammenbauen, aber trotz stundenlangem googeln finde ich nicht die korrekte Syntax.
Zuerst passiert nichts, beim zweiten Aufruf bekomme ich folgende Ausgabe:
Es wird offensichtlich erst ein Wert in die Variable "quelle" geschrieben, nachdem die Schleife durchlaufen ist.
Was mache ich falsch?
set pfad=:\sources
for %%d in (C D E F) do (
set quelle=%%d%pfad%
echo %%d %quelle%
)
Zuerst passiert nichts, beim zweiten Aufruf bekomme ich folgende Ausgabe:
C F:\sources
D F:\sources
E F:\sources
F F:\sources
D F:\sources
E F:\sources
F F:\sources
Es wird offensichtlich erst ein Wert in die Variable "quelle" geschrieben, nachdem die Schleife durchlaufen ist.
Was mache ich falsch?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 282862
Url: https://administrator.de/forum/variablenverknuepfung-in-for-schleife-282862.html
Ausgedruckt am: 11.04.2025 um 10:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Xesued und willkommen im Forum!
2 Anmerkungen dazu:
Grüße
bastla
2 Anmerkungen dazu:
- Oft ist es gar nicht nötig, eine zusätzliche Variable zu erzeugen - Du könntest etwa direkt in einer Ausgabe oder einem Befehl eine Konstruktion wie in Deinem Beispiel "
%%d%pfad%
" nutzen.
- Wenn innerhalb einer Schleife (oder auch etwa eines
if
-Blocks) erstellte oder veränderte Variablen sofort verwendet werden sollen, könntest DudelayedExpansion
("verzögerte Variablenerweiterung") verwenden - beschrieben zB in Tutorial zur FOR-Schleife ...
Grüße
bastla