gumpo03
Goto Top

Batch: Auslesen von Dateinamen aus Text und Kopieren dieser.

Hallo.
Ich sitze seit ungefähr einer Stunde an einem Problem, dass ich gern endlich lösen würde:
Ich habe eine Batch-Datei. Diese ist immer so aufgebaut: (ein kleiner Ausschnitt)
..\xdelta3.exe -d -J -q -s 0da4427540d8b061.bundle 0da4427540d8b061.bundle.patch
if %errorlevel% == 1 (echo Error!!! Please check your game version. Check. && pause && exit) else (echo File 0da4427540d8b061.bundle had verified.)
..\xdelta3.exe -d -J -q -s 1b3c593acaaadde7.bundle 1b3c593acaaadde7.bundle.patch
if %errorlevel% == 1 (echo Error!!! Please check your game version. Check. && pause && exit) else (echo File 1b3c593acaaadde7.bundle had verified.)
..\xdelta3.exe -d -J -q -s 2afc39555128bfa7.bundle 2afc39555128bfa7.bundle.patch
if %errorlevel% == 1 (echo Error!!! Please check your game version. Check. && pause && exit) else (echo File 2afc39555128bfa7.bundle had verified.)
..\xdelta3.exe -d -J -q -s 2d821f7d32d86126.bundle 2d821f7d32d86126.bundle.patch
if %errorlevel% == 1 (echo Error!!! Please check your game version. Check. && pause && exit) else (echo File 2d821f7d32d86126.bundle had verified.)
..\xdelta3.exe -d -J -q -s 2e6e71d9b3e0042a.bundle 2e6e71d9b3e0042a.bundle.patch
Aus dieser möchte ich die Namen der .bundle Dateien (Bsp: 0da4427540d8b061.bundle / 1b3c593acaaadde7.bundle) auslesen, um sie dann in einen anderen Ordner (via xcopy) zu kopieren.
Ich habe dabei die Datei schon mit Hilfe des folgenden Codes:
findstr /r /c:"..\\xdelta3.exe -d -J -q -s ..*" check.bat > files.txt
auf eine Textdatei files.txt mit folgenden Inhalt reduziert:
..\xdelta3.exe -d -J -q -s 0da4427540d8b061.bundle 0da4427540d8b061.bundle.patch
..\xdelta3.exe -d -J -q -s 1b3c593acaaadde7.bundle 1b3c593acaaadde7.bundle.patch
..\xdelta3.exe -d -J -q -s 2afc39555128bfa7.bundle 2afc39555128bfa7.bundle.patch
..\xdelta3.exe -d -J -q -s 2d821f7d32d86126.bundle 2d821f7d32d86126.bundle.patch

Nun möchte ich aber nur die Dateinamen aus dem Text. Ich weiß ja das ich dafür mit einer for schleife arbeiten muss, weiß jedoch nicht wie genau ich vorgehen sollte.
Kann mir dabei jemand helfen?
Danke.

Content-Key: 238524

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

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

Member: bastla
Solution bastla May 19, 2014, updated at May 20, 2014 at 21:39:50 (UTC)
Goto Top
Hallo gumpo03 und willkommen im Forum!

Wenn Du nicht noch eine andere Verwendung für die "files.txt" hast, kannst Du die auch einsparen:
for /f "tokens=6" %%i in ('findstr /r /c:"..\\xdelta3.exe -d -J -q -s ..*" check.bat') do echo xcopy %%i "D:\Anderer Ordner\"
Das "echo" vor dem "xcopy" ist zum Testen gedacht - wenn Du es entfernst, wird tatsächlich kopiert ...

Grüße
bastla
Member: gumpo03
gumpo03 May 20, 2014 at 21:40:48 (UTC)
Goto Top
Danke, sowohl für die Begrüßung als auch für die Antwort!
Du hast mir wirklich sehr geholfen face-smile