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-ID: 360081

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

Ausgedruckt am: 24.11.2024 um 21:11 Uhr

rubberman
Lösung rubberman 06.01.2018 um 15:16:17 Uhr
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
AcJoker
AcJoker 06.01.2018 um 23:45:38 Uhr
Goto Top
Super, danke.

Daran hat´s gelegen.

Ich habe alles mögliche andere ausprobiert. *g