Verzeichnis durchsuchen und den Namen ersetzen
Vielleicht kann mir jemand von den Profis weiterhelfen.
Habe Videoaufnahmen im *.ts Format und möchte gerne die Aufnahmen in mp4 umwandeln
und in einen anderes Verzeichnis kopieren.
z.B.: Im Aufnahme Ordner habe ich Aufnahne1.ts und Aufnahme2.ts.
Nun suche ich nach einer Lösung die folgendes macht.
1. Alles mit *.ts suchen
2. Den Befehl Filename mit der gefundenen *.ts austauschen und den Befehl ausführen
3. Solange wiederholen bis keine *.ts mehr vorhanden ist.
4. Alle *.mp4 verschieben in den Speicher Ordner.
5. Alles im Aufnahme Ordner löschen.
Gruß Klaus
Habe Videoaufnahmen im *.ts Format und möchte gerne die Aufnahmen in mp4 umwandeln
und in einen anderes Verzeichnis kopieren.
z.B.: Im Aufnahme Ordner habe ich Aufnahne1.ts und Aufnahme2.ts.
Nun suche ich nach einer Lösung die folgendes macht.
1. Alles mit *.ts suchen
2. Den Befehl Filename mit der gefundenen *.ts austauschen und den Befehl ausführen
ffmpeg -i Filename.ts -c copy Filename.mp4
3. Solange wiederholen bis keine *.ts mehr vorhanden ist.
4. Alle *.mp4 verschieben in den Speicher Ordner.
5. Alles im Aufnahme Ordner löschen.
Gruß Klaus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 9400515992
Url: https://administrator.de/contentid/9400515992
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
11 Kommentare
Neuester Kommentar
@echo off &setlocal enabledelayedexpansion
set "quelle=d:\aufnahme"
set "ziel=d:\speicher"
for %%a in ("%quelle%\*.ts") do (
ffmpeg -i "%%a" -c copy "%ziel%\%%~na.mp4"
if !errorlevel! == 0 del "%%a"
)
G. Katrin
Zitat von @Klaus20:
Ist es möglich daß nur die Files gelöscht werden die ohne Fehler verarbeitet wurden ?
Ist es möglich daß nur die Files gelöscht werden die ohne Fehler verarbeitet wurden ?
s. Anpassung oben.
Zitat von @Klaus20:
Ich hoffe daß ich dazu die letzte Frage habe.
Kann ich vorher prüfen ob das Verzeichnis leer ist, wenn Nein den Befehl ausführen ?
Das geschieht doch schon im For-Loop ..., wenn keine *.ts im Ordner sind wird auch nichts gemacht!Ich hoffe daß ich dazu die letzte Frage habe.
Kann ich vorher prüfen ob das Verzeichnis leer ist, wenn Nein den Befehl ausführen ?
@echo off &setlocal enabledelayedexpansion
set "quelle=d:\aufnahme"
set "ziel=d:\speicher"
for %%a in ("%quelle%\*.ts") do (
ffmpeg -i "%%a" -c copy "%ziel%\%%~na.mp4"
if !errorlevel! == 0 (
>>"FeddischFeierabend.txt" echo %date% %time% - %%a
del "%%a"
) else (
>>"ScottyWirHabenEinProblem.txt" echo ExitCode !errorlevel!: %date% %time% - %%a
)
)