Mehrere Dateien zusammenfügen per Skript?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hier mit Batch: (ich bin mal davon ausgegangen, dass es, wie du gesagt hast, Ordner sind, auch wenn die Namen eher nach Dateien ausschauen)

for /D %%D in (*) do copy /b "%%~D\*" "%%~D\complete.ts" & del %%~D\data*.ts

Wenn du nur jeweils eine Datei in einem Ordner hast, finde ich wird der Ordner unnötig, hier eine Variante, die dir die Dateien in den übergeordneten Ordner legt und den ursprünglichen Ordner löscht:

for /D %%D in (*) do copy /b "%%~D\*" "%%~nD.ts" & rd /s /q "%%~D"

~Tim

Pr0fessor 
Fragesteller
 29.04.2018, 20:15

super - funktioniert.... fast :D

es wird alles im ordner zusammenkopiert - nur wäre es mehr in meinem interesse dass NUR die TS dateien zusammengefügt werden.

wäre das richtig?:

for /D %%D in (*) do copy /b "%%~D\*.ts" "%%~nD.ts" & rd /s /q "%%~D"
1
timlg07  30.04.2018, 19:56
@Pr0fessor

Ich bin davon ausgegangen, dass nur .ts Dateien im Ordner sind. Falls nicht sollte dein Code funktionieren. Die anderen Dateien im Ordner werden durch rd /s aber auch alle gelöscht.

1
Pr0fessor 
Fragesteller
 06.05.2018, 08:43
@timlg07

Super, danke

Funktioniert alles perfekt 😁

1

Bei PVR muss man auf Grund des Formats etwas aufpassen. Lösungen findest Du z.B. hier:

https://forum.digitalfernsehen.de/threads/gesplittete-pvr-dateien-zusammenf%C3%BCgen-joinen.241698/

Pr0fessor 
Fragesteller
 26.04.2018, 20:59

Das sind alles ts Dateien. Und das zusammenfügen mittels copy /b funktioniert und dann kann die Datei auch problemlos abgespielt werden

0
Linuxhase  27.04.2018, 15:55
@Pr0fessor
das zusammenfügen mittels copy /b funktioniert und dann kann die Datei auch problemlos abgespielt werden
  • Weshalb dann noch die Frage hier?
  • Schreib doch das "Zusammenführungs-Kommando" in ein Script und kopiere es in jedes Verzeichnis in dem jeweils die zusammen zu führenden Dateien liegen.

Unter GNU/Linux ginge das mit cat:

cat *.ts > zieldatei$(date +%s).mpg
  1. Damit werden dann alle im aktuellen Verzeichnis befindlichen*.ts Dateien zu einer Datei mit dem Namen zieldatei_1524836933).mpg gespeichert.
  2. Die Nummer ist fortlaufend und zeigt die vergangenen Sekunden seit 01.01.1970 an, somit ist ein überschreiben vorhandener Dateien ausgeschlossen.

Linuxhase

2
find . -name "*.ts" | xargs -n1 cat >> log

Führe das in dem Ordner aus, in dem die jeweiligen Subordner liegen, die mit zdf beginnen.