Bestimmte Zeile aus mehreren Dateien in eine neue Datei schreiben
Hallo zusammen,
meine Kenntnisse in Sachen batch/shell sind ehr auf Anfängerniveau zu sehen. Grund -basics im CMD-Prompt sind vorhanden, aber auch nicht mehr
Jedenfalls nicht genug um folgende Aufgabe zu lösen:
Ich habe eine TXT-Datei (z.B. Liste.txt) die eine Liste weiteren von TXT-Dateien enthält (jede Zeile beinhaltet den Namen einer TXT-Datei. Wenn gewünscht auch mit Pfad). Nun soll aus jeder TXT-Datei, die in der Liste.txt steht, die zehnte Zeile ausgelesen werden und mit dem Dateinamen zusammen in eine einzige (neue) TXT-Datei geschrieben werden.
Zur Veranschaulichung habe ich mal eine kleine Grafik erstellt.
Bruchstücke habe ich schon mal per Suche gefunden. Aber nichts was ich mir sinnvoll zusammen basteln konnte.
Über Tips, Anregungen oder eine bat-Datei würde ich mich freuen
Gruß
Uwe
meine Kenntnisse in Sachen batch/shell sind ehr auf Anfängerniveau zu sehen. Grund -basics im CMD-Prompt sind vorhanden, aber auch nicht mehr
Jedenfalls nicht genug um folgende Aufgabe zu lösen:
Ich habe eine TXT-Datei (z.B. Liste.txt) die eine Liste weiteren von TXT-Dateien enthält (jede Zeile beinhaltet den Namen einer TXT-Datei. Wenn gewünscht auch mit Pfad). Nun soll aus jeder TXT-Datei, die in der Liste.txt steht, die zehnte Zeile ausgelesen werden und mit dem Dateinamen zusammen in eine einzige (neue) TXT-Datei geschrieben werden.
Zur Veranschaulichung habe ich mal eine kleine Grafik erstellt.
Bruchstücke habe ich schon mal per Suche gefunden. Aber nichts was ich mir sinnvoll zusammen basteln konnte.
Über Tips, Anregungen oder eine bat-Datei würde ich mich freuen
Gruß
Uwe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 273244
Url: https://administrator.de/forum/bestimmte-zeile-aus-mehreren-dateien-in-eine-neue-datei-schreiben-273244.html
Ausgedruckt am: 05.04.2025 um 05:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo Oggy76 und willkommen im Forum!
Grundsätzlich freuen wir uns immer, wenn wir weiterhelfen können - es also bereits einen Ansatz gibt ...
... anyhow: Soferne die Zeilen 10 keine (besonderen) Sonderzeichen enthalten, etwa so:
Wenn die in der Listendatei angeführten Dateien nicht im beim Ausführen des Batches aktuellen Ordner liegen, entweder vor der Schleife in den passenden Ordner wechseln (per "
Grüße
bastla
Grundsätzlich freuen wir uns immer, wenn wir weiterhelfen können - es also bereits einen Ansatz gibt ...
... anyhow: Soferne die Zeilen 10 keine (besonderen) Sonderzeichen enthalten, etwa so:
@echo off & setlocal
set "Liste=D:\Liste.txt"
set "Neue=D:\Neue.txt"
set /a Zeile=10
del "%Neue%" 2>nul
for /f "usebackq delims=" %%i in ("%Liste%") do for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%%i"^|findstr /b "%Zeile%:"') do >>"%Neue%" echo %%b
cd /d
" bzw "pushd
" / "popd
") oder, wie von Dir als Option genannt, die Dateien mit Pfadangabe in die "Liste.txt" schreiben ...Grüße
bastla
Hey,
Wenn die zehnte Zeile mit Doppelpunkt(en) begint, werden die durch die Magie von Microsoft verschwinden. This might be fixed if needed...
Gruß, Endoro
Das auslesen der zehnten Zeile klappt perfekt. Im Prinzip würde mir nur noch der Dateiname in der jeweiligen Zeile fehlen.
for /f "usebackq delims=" %%i in ("%Liste%") do for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%%i"^|findstr /b "%Zeile%:"') do >>"%Neue%" echo %%b %%~i
Gruß, Endoro
Hallo Oggy76!
... und wenn Du die Ausgabe von
(oder besser das einschlägige Tutorial) liest oder zumindest Deine per Suche gefundenen Bruchstücke analysierst, sollte es Dir möglich sein, den im Ansatz von Endoro ggf samt Pfad ausgegebenen Dateinamen auf die für Dich nötigen Teile (Name + ev Erweiterung) zu kürzen.
Grüße
bastla
Im Prinzip würde mir nur noch der Dateiname in der jeweiligen Zeile fehlen.
Im Prinzip hätte ich gehofft, dass Du diesen Teil selbst bewältigen könntest ...... und wenn Du die Ausgabe von
for /?
Grüße
bastla