使用Windows批处理脚本为文件夹中的每个文件应用命令

时间:2012-12-27 14:46:33

标签: windows for-loop batch-file ffmpeg

我想弄清楚如何创建一个脚本,将所有视频文件放在文件夹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寻求帮助。