acjoker
Goto Top

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.
for /f "tokens=1,5" %%i in ('dir /ad /tc "%src%"^|findstr /rc:"\<<DIR>\>"^|findstr /rvc:"\<\.\.*\>"') do  
Nachdem dies für denn ersten gefundenen Ordner erfolgt ist, möchte ich im nun bekannten Unterordner etwas aus _HEADER.TXT auslesen.
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 ( ^  
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

Content-Key: 360081

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: rubberman
Solution rubberman Jan 06, 2018 at 14:16:17 (UTC)
Goto Top
Dein Pfad steht in Anführungszeichen. Ohne USEBACKQ wird der Pfad als Stringliteral ausgewertet, statt dem Dateiinhalt auf den der Pfad zeigt.

Steffen
Member: AcJoker
AcJoker Jan 06, 2018 at 22:45:38 (UTC)
Goto Top
Super, danke.

Daran hat´s gelegen.

Ich habe alles mögliche andere ausprobiert. *g