Mehrere Dateien zusammenfügen per Skript?
Hallo, liebe community.
Ich habe auf meiner Festplatte viele Dateien in Ordner. Diese sind aber gesplittet :
Das sind die Ordner
zdf_neo-01032018-1239.pvr
zdf_neo-02032018-1239.pvr
zdf_neo-03042018-1559.pvr
zdf_neo-04042018-1559.pvr
zdf_neo-05032018-1239.pvr
zdf_neo-05042018-1559.pvr
zdf_neo-06032018-1239.pvr
zdf_neo-06042018-1559.pvr
zdf_neo-07032018-1239.pvr
zdf_neo-07042018-1559.pvr
zdf_neo-08032018-1239.pvr
zdf_neo-09032018-1239.pvr
zdf_neo-11042018-1559.pvr
zdf_neo-12042018-1559.pvr
zdf_neo-13042018-1559.pvr
zdf_neo-14032018-1239.pvr
zdf_neo-15032018-1239.pvr
zdf_neo-16032018-1239.pvr
zdf_neo-16042018-1559.pvr
zdf_neo-17042018-1559.pvr
zdf_neo-18042018-1559.pvr
zdf_neo-19042018-1559.pvr
zdf_neo-20032018-1559.pvr
Und in jedem der Ordner sind folgende Dateien :
data0001.ts
data0002.ts
data0003.ts
Nun möchte ich dass die 3 Dateien eines jeden Ordners zusammengefügt werden mittels "copy /b" sodass ich in jedem Ordner nurnoch eine Datei habe.
Wie könnte man es am besten bewerkstelligen?
Egal ob unter Windows oder Linux.
Danke euch!
3 Antworten
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
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.
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/
Das sind alles ts Dateien. Und das zusammenfügen mittels copy /b funktioniert und dann kann die Datei auch problemlos abgespielt werden
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
- Damit werden dann alle im aktuellen Verzeichnis befindlichen*.ts Dateien zu einer Datei mit dem Namen zieldatei_1524836933).mpg gespeichert.
- Die Nummer ist fortlaufend und zeigt die vergangenen Sekunden seit 01.01.1970 an, somit ist ein überschreiben vorhandener Dateien ausgeschlossen.
Linuxhase
find . -name "*.ts" | xargs -n1 cat >> log
Führe das in dem Ordner aus, in dem die jeweiligen Subordner liegen, die mit zdf beginnen.
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?: