For F verschachteln, zweite Schleife wird nicht ausgeführt bzw. Batch startet nicht
Hallo,
ich habe ein Problem mit zwei verschachtelten FOR / F Schleifen.
Grundlegend würde ich gerne einen Ordner durchgehen der ebenfalls Ordner enthält und deren Ordnername auslesen.
Nachdem dies für denn ersten gefundenen Ordner erfolgt ist, möchte ich im nun bekannten Unterordner etwas aus _HEADER.TXT auslesen.
Isoliert klappt das auch.
D.h. ich kann mittels Batch die Ordnernamen auslesen und ich kann mit einer anderen Batch die TXT auslesen.
Aber ich bekomme es einfach nicht hin dies zu verschachteln.
Wenn ich die zweite FOR / F Schleife mit ECHO ausgeben lasse sieht die Zeile korrekt für mich aus.
D.h. die Variablen werden sauber übergeben. Ja der Ordner den ich auslese (ABC.RAW) enthält leider einen Punkt, das kann ich aber nicht ändern. Isoliert macht das aber kein Problem, von daher denke ich liegt es nicht daran.
Jemand eine Idee wo mein Fehler liegen könnte?
Gruß
Joker
ich habe ein Problem mit zwei verschachtelten FOR / F Schleifen.
Grundlegend würde ich gerne einen Ordner durchgehen der ebenfalls Ordner enthält und deren Ordnername auslesen.
for /f "tokens=1,5" %%i in ('dir /ad /tc "%src%"^|findstr /rc:"\<<DIR>\>"^|findstr /rvc:"\<\.\.*\>"') do
for /f "tokens=1,2,3,4 skip=4" %%m in ("%src%\%%j\_HEADER.txt") do
Isoliert klappt das auch.
D.h. ich kann mittels Batch die Ordnernamen auslesen und ich kann mit einer anderen Batch die TXT auslesen.
Aber ich bekomme es einfach nicht hin dies zu verschachteln.
@echo off &setlocal
set "src=E:\Batch\Data"
set "dst=E:\Batch\Sort"
set "dstBackup=E:\Batch\Backup"
set "z=%date%"
set "sortdate=%z:~10,4%%z:~4,2%%z:~7,2%"
echo xcopy "%src%\*.*" "%dstBackup%\%sortdate%\ /E/I/K"
for /f "tokens=1,5" %%i in ('dir /ad /tc "%src%"^|findstr /rc:"\<<DIR>\>"^|findstr /rvc:"\<\.\.*\>"') do ( ^
for /f "tokens=1,2,3,4 skip=4" %%m in ("%src%\%%j\_HEADER.txt") do ( ^
echo %%m
pause
)
)
pause
Wenn ich die zweite FOR / F Schleife mit ECHO ausgeben lasse sieht die Zeile korrekt für mich aus.
for /f "tokens=1,2,3,4 skip=4" %m in ("E:\Batch\Data\ABC.RAW\_HEADER.txt") do ( ^
Jemand eine Idee wo mein Fehler liegen könnte?
Gruß
Joker
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 360081
Url: https://administrator.de/contentid/360081
Ausgedruckt am: 24.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar