Ich bin nicht sicher, was in der Klammer, wo ich hingehe, gemeint ist (".m2v")
.
was stellt das dar?
for %%a in (".m2v") do ffmpeg -i "%%~na.wav" -i "%%~na.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf"
Der Wert (".m2v")
stellt einen Satz von zu verarbeitenden Dateien dar.
In Ihrem Befehl gibt es keine zu verarbeitenden Dateien seit:
.m2v
ist nur eine Erweiterung und wir können davon ausgehen, dass es so etwas sein solltefilename.m2v
- Sie benötigen hier wirklich einen Platzhalterausdruck (siehe unten).
- Ihre Dateien befinden sich in Unterverzeichnissen.
Verwenden Sie die folgende Batchdatei (im einzelnen Hauptverzeichnis):
@echo off setlocal for /f "usebackq" %%a in (`dir /b /s *.m2v`) do ( echo ffmpeg -i "%%~dpna.wav" -i "%%~dpna.m2v" -acodec copy -vcodec copy "newfiles\%%~na.mxf ) endlocal
Anmerkungen:
Entfernen Sie die Option
echo
aus demffmpeg
Befehl, wenn Sie mit der Batchdatei zufrieden sind.dir /b /s *.m2v
wird verwendet, um eine Liste der zu verarbeitenden Dateien zu erstellen.Die
/b
Option gibt nur die Dateinamen an (wir möchten nicht die Header, die Zusammenfassung oder andere Details).Die
/s
Option erlaubtdir
die Bearbeitung von Unterverzeichnissen.for /f
wird verwendet, um die Liste der Dateien zu verarbeiten.%%~dpna
wird verwendet, um den vollständig qualifizierten Dateinamen ohne die Erweiterung abzurufen.
Lesen Sie weiter
- Ein AZ-Index der Windows-CMD-Befehlszeile - Eine hervorragende Referenz für alles, was mit Windows-Cmd-Zeilen in Verbindung steht.
- dir - Zeigt eine Liste von Dateien und Unterordnern an.
- for / f - Schleifenbefehl gegen die Ergebnisse eines anderen Befehls.
- parameters - Ein Befehlszeilenargument (oder Parameter) ist ein beliebiger Wert, der an ein Batch-Skript übergeben wird.