我想弄清楚如何创建一个脚本,将所有视频文件放在文件夹video \ *。*中,然后在每个文件夹上使用ffmpeg,并将文件输出到转换后的\ * .mp4,其中文件名是相同。
但是,我无法弄清楚如何使for
循环工作,以便我可以提取我正在处理的文件的名称和扩展名类型。
for %%f IN (videos\*.*) DO (convert.bat %%f)
convert.bat
ffmpeg.exe -i %1 -f mp4 converted\%~n.mp4
我尝试过使用和不使用双引号。但是,它无法识别该文件。
1 个答案:
答案 0 :(得分:4)
一个班轮批处理文件命令:
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
寻求帮助。