如何使用ffmpeg批处理整个文件夹?一个批处理脚本,将扫描当前运行的文件夹

时间:2018-03-07 18:36:49

标签: batch-file ffmpeg

我有这段代码,但它无效

我希望批处理脚本扫描当前运行的目录并批处理该目录中的MP4文件

但首先我希望它创建一个名为newfiles的新目录,并将处理过的文件放在该文件夹中,名称相同

请帮我修复这个批处理脚本

md "%~dp0\newfiles"
for %%a in (%~dp0\"*.mp4") do ffmpeg -i "%%a" -c:v libx264 -preset veryslow -crf 18 -c:a aac -b:a 192k -pix_fmt yuv420p "newfiles\%~dp0%%a.mp4"
pause

代码没有创建新目录而不是批处理该目录中的mp4文件(执行批处理脚本的目录)

好的我已经解决了以下问题

md "%~dp0\newfiles"
for %%a in (%~dp0\"*.mp4") do ffmpeg -i "%%a" -c:v libx264 -preset veryslow -crf 18 -c:a aac -b:a 192k -pix_fmt yuv420p "newfiles\%%~na.mp4"
pause

1 个答案:

答案 0 :(得分:0)

以下是针对您的问题的修补程序。

@Echo Off
If Not Exist "%~dp0*.mp4" Exit /B
CD /D "%~dp0"
If Not Exist "newfiles\" MD "newfiles" 
For %%A In (*.mp4) Do ffmpeg -i "%%A" -c:v libx264 -preset veryslow -crf 18 -c:a aac -b:a 192k -pix_fmt yuv420p "newfiles\%%A"