for循环-使用Windows批处理脚本对文件夹中的每个文件应用命令



我正试图找出如何创建一个脚本,将所有视频文件在一个文件夹视频*。*,然后对每个文件使用ffmpeg,并输出文件转换为*.mp4,其中文件名相同。

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

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

convert.bat

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

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

一行批处理文件命令:

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

有两个行符:(添加call命令,引号和~)

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

convert.bat(修正了~、选项和引号的参数用法)

ffmpeg.exe -i "%~f1" "%~dp1converted%~n1.mp4"

参考for /?, call /?, ffmpeg

相关内容

  • 没有找到相关文章

最新更新