我正试图找出如何创建一个脚本,将所有视频文件在一个文件夹视频*。*,然后对每个文件使用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