Inhalt aus TXT-Dateien zusammenfassen
Joinen von txt's zu einer txt
Hallo,
ich habe hier über 700 .txt-Dateien.
Ich möchte den Inhalt bestimmter TXT-Dateien zusammenfassen um somit zum Schluß weniger Dateien zu haben als jetzt.
Hoffe mir kann jemand dafür eine Batch schreiben?
Falls das Unter Dos auch so möglich sein sollte bitte ich um die genauen Befehle.
Das Ganze sollte dann so aussehen, dass ich über die CMD (Eingabeaufforderung) folgenden Befehl verwenden kann:
[batchname.bat] [inputfile/s] [outputfile]
Beispiel:
[txt.join.batch.bat] [txt1.txt 123.txt irgendwas.txt] [gejointe.txt]
Es soll auch so sein, dass der Inhalt der einzelnen Txt's im Nachhinein auch Zeile für Zeile in der neuen Txt steht und nicht in einer einzigen Zeile.
Also quasi den Inhalt so übernehmen wie er in den txt's schon ist!
Beispiel:
Adam
Thomas
Max
und nicht:
Adam Thomas Max ....
Das Ganze wäre dringend!
Hallo,
ich habe hier über 700 .txt-Dateien.
Ich möchte den Inhalt bestimmter TXT-Dateien zusammenfassen um somit zum Schluß weniger Dateien zu haben als jetzt.
Hoffe mir kann jemand dafür eine Batch schreiben?
Falls das Unter Dos auch so möglich sein sollte bitte ich um die genauen Befehle.
Das Ganze sollte dann so aussehen, dass ich über die CMD (Eingabeaufforderung) folgenden Befehl verwenden kann:
[batchname.bat] [inputfile/s] [outputfile]
Beispiel:
[txt.join.batch.bat] [txt1.txt 123.txt irgendwas.txt] [gejointe.txt]
Es soll auch so sein, dass der Inhalt der einzelnen Txt's im Nachhinein auch Zeile für Zeile in der neuen Txt steht und nicht in einer einzigen Zeile.
Also quasi den Inhalt so übernehmen wie er in den txt's schon ist!
Beispiel:
Adam
Thomas
Max
und nicht:
Adam Thomas Max ....
Das Ganze wäre dringend!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63223
Url: https://administrator.de/forum/inhalt-aus-txt-dateien-zusammenfassen-63223.html
Ausgedruckt am: 09.01.2025 um 10:01 Uhr
17 Kommentare
Neuester Kommentar
lies dir den text von copy /? durch.
Hallo Oli-nux!
Vielleicht so:
Aufzurufen ist der Batch mit
wobei als inputfile/s auch Wildcards zulässig sind (etwa *.txt). Empfehlenswert wäre es in diesem Fall, das outputfile in einem anderen Verzeichnis zu erstellen, damit es nicht irrtümlich als inputfile interpretiert wird (wäre bei "gejointe.txt" der Fall).
Zu
Grüße
bastla
Vielleicht so:
@echo off
if exist %1 del %1
:Loop
if "%~2" neq "" type %2>>%1 & shift /2 & goto :Loop
batchname.bat outputfile inputfile/s
Zu
und nicht:
Adam Thomas Max ....
hängt von den Ausgangsdateien ab - wenn diese nicht mit einer Zeilenschaltung enden, wird auch die gejointe Datei keine enthalten.Adam Thomas Max ....
Grüße
bastla
einfach mal na so nen tools suchen.
kleiner tip: tools die splitten können, können meistens auch files zusammenführen.
jetz du halt auch mal was.
kann mir eigentlich nich vorstellen, dass der copy befehl probleme mit 700 files hat.
is glaub ich eher ne frage wie man sich anstellt.
ein ähnliches ergebniss bekommt man übrigens mit
type s1.txt >> result.txt
type s2.txt >> result.txt
type s3.txt >> result.txt
kleiner tip: tools die splitten können, können meistens auch files zusammenführen.
jetz du halt auch mal was.
kann mir eigentlich nich vorstellen, dass der copy befehl probleme mit 700 files hat.
is glaub ich eher ne frage wie man sich anstellt.
ein ähnliches ergebniss bekommt man übrigens mit
type s1.txt >> result.txt
type s2.txt >> result.txt
type s3.txt >> result.txt
Hallo Oli-nux!
Ich war davon ausgegangen, dass die 700 eine Teilmenge wären, und alle zusammengefasst werden sollen, was aber nichts am Prinzip ändert:
Zusammenzufassende Dateien in einem Ordner sammeln und alle Dateien dieses Ordners mit dem beschriebenen "copy"-Befehl kombinieren.
Übrigens: Wieviele Dateien sollen maximal zusammengefasst werden? Wenn's eine kleinere Anzahl (bis etwa 50, je nach Pfadlänge) sein sollte, geht's auch mit Drag & Drop, wobei jedoch die Zieldatei bereits im Batch vorgegeben sein muss, also etwa:
Vorgangsweise dann: Dateien markieren, auf die Batchdatei ziehen, nach Bearbeitung aller Dateien (und Tastendruck) fertige Zusammenfassungsdatei ("D:\Zusammen.txt") umbenennen, damit sie beim nächsten Mal nicht überschrieben wird.
Grüße
bastla
Ich war davon ausgegangen, dass die 700 eine Teilmenge wären, und alle zusammengefasst werden sollen, was aber nichts am Prinzip ändert:
Zusammenzufassende Dateien in einem Ordner sammeln und alle Dateien dieses Ordners mit dem beschriebenen "copy"-Befehl kombinieren.
Übrigens: Wieviele Dateien sollen maximal zusammengefasst werden? Wenn's eine kleinere Anzahl (bis etwa 50, je nach Pfadlänge) sein sollte, geht's auch mit Drag & Drop, wobei jedoch die Zieldatei bereits im Batch vorgegeben sein muss, also etwa:
@echo off & setlocal
set "Zusammen=D:\Zusammen.txt"
if exist "%Zusammen%" del "%Zusammen%"
:Loop
if "%~1" neq "" type %1>>"%Zusammen%" & shift & goto :Loop
pause
Grüße
bastla
einfach den parameter /p hinter dem set befehl bei der ersten zeile
hinzufügen und den text hinter dem istgelichzeichen anpassen.
set /p "Zusammen=Ausgabe: "
hinzufügen und den text hinter dem istgelichzeichen anpassen.
set /p "Zusammen=Ausgabe: "
entwerder kompletten pfad + filename und nich nur filename angeben.
vorher war ja auch d:\zusammen.txt angegeben.
oder alternativ vor jedem %Zusammen% ein d:\ ohne abstand
schreiben, dann reicht bei der angabe der ausgabe nur der dateiname,
wobei dann logischerweise alle ausgaben nach d:\ wandern.
vorher war ja auch d:\zusammen.txt angegeben.
oder alternativ vor jedem %Zusammen% ein d:\ ohne abstand
schreiben, dann reicht bei der angabe der ausgabe nur der dateiname,
wobei dann logischerweise alle ausgaben nach d:\ wandern.