FFMPEG 命令在 PowerShell 中有效,但在批处理文件中无效

FFMPEG command works in PowerShell but not in a batch file

只是尝试在 .bat 文件中使用 ffmpeg 从视频文件中提取帧,但它不起作用:

ffmpeg -i video.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%08d.jpg

错误信息:

Unable to find a suitable output format for '.\tmp_frames\frameC:\Test' .\tmp_frames\frameC:\Test: Invalid argument

此命令本身在 PowerShell 中运行良好,但 运行 作为批处理文件会产生上述错误。

关于如何在批处理文件中解决这个问题有什么想法吗?

...frame%08d.jpg%0 将被当前批处理文件名替换,因此 '.\tmp_frames\frameC:\Test'

.bat文件中,必须使用%的转义码,即%%

ffmpeg -i video.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%%08d.jpg