Doppelte FOR-Schleife mit Variablenübernahme
Hallo Leute,
ich sitze hier an einem Problem. Ich versuche mich gerade ein wenig in Batch (.bat) Dateien und hänge an einer Doppelten For-Schleife fest.
Vielleicht hat ja jemand Lust mal da drüberzuschauen und zu zeigen, was ich falsch mache.
set "Quelle=C:\Sammlung"
set /a Durchlauf=1
set /p Doc=Wieviele Dateien:
FOR /L %%i in (1,1,%Doc%) do (
set vari=%%i
FOR /f "usebackq delims=" %%j in ("%Quelle%%Durchlauf%.txt") do (
set varj=%%j
call: AUFGABE
)
set /a Durchlauf+=1
echo "FERTIG"
)
:AUFGABE
[...]
exit /b
Das ganze sollte eigentlich z.B.: so ablaufen:
Nach dem Ausführen wird man gefragt
Wieviele Dateien: 2 [mögliche Antwort]
Nun geht er in die erste Schleife und weiß, dass er dieser 2 Mal durchlaufen muss.
Im ersten Durchlauf greift die innere/zweite For-Schleife auf das Dokument %Quelle%%Durchlauf%.txt (hier also C:\Sammlung1.txt) zu und arbeitet diese ab.
Im nächsten Schritt wird der Durchlauf-Wert um Eins erhöht. Nun sollte die innere Schleife auf C:\Sammlung2.txt zugreifen.
Das tut sie aber nicht. Sie arbeitet nur 2 mal (weil wir oben 2 eingegeben haben) die Liste C:\Sammlung1.txt ab.
Ich habe versucht "set /a Durchlauf+=1" an andere Orte zu Stellen, aber geholfen hat es nicht.
Falls jemand weiterweiß, würde ich mich über jede Antwort freuen.
Freundliche Grüße
und einen sonnigen Donnerstag
Günther
ich sitze hier an einem Problem. Ich versuche mich gerade ein wenig in Batch (.bat) Dateien und hänge an einer Doppelten For-Schleife fest.
Vielleicht hat ja jemand Lust mal da drüberzuschauen und zu zeigen, was ich falsch mache.
set "Quelle=C:\Sammlung"
set /a Durchlauf=1
set /p Doc=Wieviele Dateien:
FOR /L %%i in (1,1,%Doc%) do (
set vari=%%i
FOR /f "usebackq delims=" %%j in ("%Quelle%%Durchlauf%.txt") do (
set varj=%%j
call: AUFGABE
)
set /a Durchlauf+=1
echo "FERTIG"
)
:AUFGABE
[...]
exit /b
Das ganze sollte eigentlich z.B.: so ablaufen:
Nach dem Ausführen wird man gefragt
Wieviele Dateien: 2 [mögliche Antwort]
Nun geht er in die erste Schleife und weiß, dass er dieser 2 Mal durchlaufen muss.
Im ersten Durchlauf greift die innere/zweite For-Schleife auf das Dokument %Quelle%%Durchlauf%.txt (hier also C:\Sammlung1.txt) zu und arbeitet diese ab.
Im nächsten Schritt wird der Durchlauf-Wert um Eins erhöht. Nun sollte die innere Schleife auf C:\Sammlung2.txt zugreifen.
Das tut sie aber nicht. Sie arbeitet nur 2 mal (weil wir oben 2 eingegeben haben) die Liste C:\Sammlung1.txt ab.
Ich habe versucht "set /a Durchlauf+=1" an andere Orte zu Stellen, aber geholfen hat es nicht.
Falls jemand weiterweiß, würde ich mich über jede Antwort freuen.
Freundliche Grüße
und einen sonnigen Donnerstag
Günther
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 167388
Url: https://administrator.de/forum/doppelte-for-schleife-mit-variablenuebernahme-167388.html
Ausgedruckt am: 21.04.2025 um 08:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Guenther,
Dein Stichwort heißt
Gruß
Friemler
Dein Stichwort heißt
verzögerte Variablenerweiterung
. Schau Dir doch mal mein Tutorial zur FOR-Schleife an.Gruß
Friemler