我正在写一个快速的小批量脚本,它将使用ffmpeg从短片段创建gif。
我无法弄清楚如何让它在任何子文件夹(及其中的电影)的for循环中运行ffmpeg命令。我试图使用-r但这似乎不起作用。我对此很陌生,而且我对这个脚本有点不满。任何帮助将不胜感激
ECHO Movie Dir, please?
SET /p movdir=
IF EXIST "%movdir%" (
MKDIR "%movdir%\palgen"
MKDIR "%movdir%\gif"
FOR %%a in ("%movdir%\*.mov*") do (
"%ffmpeg%\ffmpeg" -i "%%a" -vf fps="%fps%",scale="%scale%":flags=lanczos,palettegen -y "%movdir%\palgen\%%~na.bmp"
"%ffmpeg%\ffmpeg" -i "%%a" -i "%movdir%\palgen\%%~na.bmp" -lavfi fps="%fps%",scale="%scale%":flags=lanczos,paletteuse -y "%movdir%\gif\%%~na.gif"
)
) ELSE (
ECHO That Directory doesn't exist, try again
GOTO Start
)
RD /s /q "%movdir%\palgen"
ECHO All Done, bye :)
答案 0 :(得分:0)
假设您的代码适用于单个文件夹并且%ffmpeg%
已被初始化,请更改
FOR %%a in ("%movdir%\*.mov*") do (
到
FOR /r "%movdir%" %%a in ("*.mov") do (