Batch file 批处理-通过目录和子目录运行命令
我正在编写一个快速的小批量脚本,它将使用ffmpeg从短电影剪辑创建gif 我很难弄清楚如何让它在for循环中对其中的任何子文件夹和电影运行ffmpeg命令。我试图使用-r,但似乎不起作用。我对这个很陌生,我已经用这个脚本完成了我的工作。任何帮助都将不胜感激Batch file 批处理-通过目录和子目录运行命令,batch-file,ffmpeg,Batch File,Ffmpeg,我正在编写一个快速的小批量脚本,它将使用ffmpeg从短电影剪辑创建gif 我很难弄清楚如何让它在for循环中对其中的任何子文件夹和电影运行ffmpeg命令。我试图使用-r,但似乎不起作用。我对这个很陌生,我已经用这个脚本完成了我的工作。任何帮助都将不胜感激 ECHO Movie Dir, please? SET /p movdir= IF EXIST "%movdir%" ( MKDIR "%movdir%\palgen" MKDIR "%movdir%\gif" FOR %%a in (
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 :)
假设您的代码适用于单个文件夹并且%ffmpeg%已初始化,请更改
FOR %%a in ("%movdir%\*.mov*") do (
到
这似乎不起作用,当我运行bat时,它会立即关闭,并且没有创建任何东西。现在请检查代码-我错误地留在了/d开关中。filespec也是*.mov,只针对*.mov文件
FOR /r "%movdir%" %%a in ("*.mov") do (