Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理-通过目录和子目录运行命令_Batch File_Ffmpeg - Fatal编程技术网

Batch file 批处理-通过目录和子目录运行命令

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 (

我正在编写一个快速的小批量脚本,它将使用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 :)

假设您的代码适用于单个文件夹并且%ffmpeg%已初始化,请更改

FOR %%a in ("%movdir%\*.mov*") do (


这似乎不起作用,当我运行bat时,它会立即关闭,并且没有创建任何东西。现在请检查代码-我错误地留在了/d开关中。filespec也是*.mov,只针对*.mov文件
FOR /r "%movdir%" %%a in ("*.mov") do (