Forum: PC-Programmierung Mehrere Dateien in eine Datei zusammenführen mit Zeilenumbruch nach jeder Datei


von Harald (Gast)


Lesenswert?

Hallo

wenn ich mehrere Dateien in eine Datei kopiere mit Befehl

copy /b *.txt ziel.txt

funktioniert das.

Leider sind jedoch die Inhalte der einzelnen Inhalte hintereinander
angereiht.

Kann man diese auch jeweils einen Zeilenumbruch machen, wenn neue
Dateiinhalt kommt?

Lieben Dank für Euere konkrete Befehlszeile schon jetzt

LG
Harald

von A. S. (Gast)


Lesenswert?

> copy /b *.txt ziel.txt

gibt es einen Grund für /b?

Ansonsten kannst Du das als for in cmd machen. Und dann als Befehl 
einfach type und nachher echo.

von Harald (Gast)


Lesenswert?

Hallo A. S.

würdest Du mir bitte die konkrete Befehlszeile schreiben .... Bitte

Lieben Danke
Harald

von Harald (Gast)


Lesenswert?

A. S. schrieb:
>> copy /b *.txt ziel.txt
>
> gibt es einen Grund für /b?
>
> Ansonsten kannst Du das als for in cmd machen. Und dann als Befehl
> einfach type und nachher echo.

Nein,  /b  hab ich irgendwo aufgeschnappt.

Hallo A. S. Kannst du mir bitte die komplette Befehlszeile schreiben. 
Lieben Dank Harald   PS: Ich Amateur

von A. S. (Gast)


Lesenswert?

for %i in (*.txt) do type %i >> ziel & echo. >>ziel

Dazu musst Du aber vorher ziel löschen.

Statt dem Echo Punkt kannst du auch mehrere Leerzeilen oder 
"------------------------------" einführen

von A. S. (Gast)


Lesenswert?

Übrigens ist es eigentlich meist nicht gut, eine Text-Datei ohne 
Zeilenumbruch abzuschließen.

Bei C-Headern führt das auch manchmal zu absurden Fehlermeldungen, wenn 
dann halt die erste Zeile der nächsten Datei (meist ein #if...) in einen 
Kommentar rutscht.

von Axel R. (axlr)


Lesenswert?

https://stackoverflow.com/questions/922607/can-i-copy-multiple-named-files-on-the-windows-command-line-using-a-single-copy
1
You can use 'for' either in a batch file or directly from the command prompt:
2
3
for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\
4
Wildcards are supported in the filelist as well:
5
6
for %I in (*.txt *.doc *.html) do copy %I c:\somedir\

von Christian M. (christian_m280)


Lesenswert?

Harald schrieb:
> /b  hab ich irgendwo aufgeschnappt.

Von hier:

Beitrag "Re: Datei-Inhalte aus mehreren txt Dateien in eine kopieren"

Gibt's einen Grund für diesen weiteren Thread?

Gruss Chregu

von Rolf M. (rmagnus)


Lesenswert?

A. S. schrieb:
> Bei C-Headern führt das auch manchmal zu absurden Fehlermeldungen, wenn
> dann halt die erste Zeile der nächsten Datei (meist ein #if...) in einen
> Kommentar rutscht.

C schreibt sogar vor, dass Quellcode-Dateien mit einem Newline enden 
müssen.

von A. S. (Gast)


Lesenswert?

Rolf M. schrieb:
> C schreibt sogar vor, dass Quellcode-Dateien mit einem Newline enden
> müssen.

Aus dem Grund. Trotzdem wertet das nicht jeder Compiler als Error (naja, 
der sowieso nicht, aber ich denke, ist klar, was ich meine). Und die 
Warnung ist uns irgendwo auch mal durchgegangen, da haben wir nicht 
schlecht gestaunt.

von Manfred (Gast)


Lesenswert?

Christian M. schrieb:
> Gibt's einen Grund für diesen weiteren Thread?

Ja, wenn Du lesen könntest, wäre Dir ein Datum aufgefallen. Von daher 
vollkommen OK, dass Haral neu aufmacht!

A. S. schrieb:
> gibt es einen Grund für /b?

Das /b steht für binary, beim Kopieren wird der Inhalt der Dateien 
ignoriert. Lässt Du es weg, kann es passieren, dass die Dateien nicht 
vollständig kopiert werden, weil ein EOT drin gefunden wurde.

von A. S. (Gast)


Lesenswert?

Manfred schrieb:
> A. S. schrieb:
>> gibt es einen Grund für /b?
>
> Das /b steht für binary, beim Kopieren wird der Inhalt der Dateien
> ignoriert. Lässt Du es weg, kann es passieren, dass die Dateien nicht
> vollständig kopiert werden, weil ein EOT drin gefunden wurde.

Die Frage bezog sich darauf, dass der TO nur *.txt hatte UND zwischen 
jeder einen Zeilenumbruch wollte. Meist passt das nicht zusammen.

von Harald (Gast)


Lesenswert?

A. S. schrieb:
>> copy /b *.txt ziel.txt
>
> gibt es einen Grund für /b?
>
> Ansonsten kannst Du das als for in cmd machen. Und dann als Befehl
> einfach type und nachher echo.



Hallo  A.S.

vielen lieben Dank

Es funktioniert

LG
Harald

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.