0

我试图弄清楚如何创建一个脚本,它将所有视频文件放在文件夹 videos\*.* 中,然后在每个文件上使用 ffmpeg 并将文件输出到文件名相同的 convert\*.mp4 。

但是,我不知道如何使for循环工作,以便提取正在处理的文件的名称和扩展类型。

for %%f IN (videos\*.*) DO (convert.bat %%f)

转换.bat

ffmpeg.exe -i %1 -f mp4 converted\%~n.mp4

我试过带双引号和不带双引号。但是,它不会识别该文件。

4

1 回答 1

5

一个班轮批处理文件命令:

for %%F in (videos\*.*) do ffmpeg.exe -i "%%~fF" "%%~dpF\converted\%%~nF.mp4"

你有两个班轮:(添加了call命令、引号和~

for %%F IN (videos\*.*) DO (call convert.bat "%%~fF")

convert.bat(更正参数使用~,选项和引号)

ffmpeg.exe -i "%~f1" "%~dp1\converted\%~n1.mp4"

请参阅for /?, call /?,ffmpeg寻求帮助。

于 2012-12-27T15:10:26.273 回答