ffmpeg不能从批处理脚本中正确使用通配符

我想要做的事情实际上是超级简单的,如果在cmd窗口中执行的话,它工作得很好,尽pipe在批处理脚本中使用它不起作用。 以下命令通常会得到所有带有模式anim_xxxx.png的.png文件(%04d代表ffmpeg中的4个数字)。

ffmpeg -f image2 -i anim_%04d.png -vcodec mjpeg -q:v 0 -r 25 foo.avi 

现在我得到的错误是与我的图像序列通配符,我不知道是什么问题。 使用另一个通配符,如*会给我同样的错误。

[image2 @ 000000000033e8c0]找不到path为'anim_render.bat4d.png'且索引在0-4范围内的文件:anim_render.bat4d.png:没有这样的文件或目录

%04d是否与batch file中不存在的batch file中的任何variables相似? 到目前为止,我找不到任何类似的情况。

虽然anim_*.mpg all starting 'anim_'似乎是一个比较常用的方法,可以说明all starting 'anim_'也许这是一个特殊的含义+any 4 characters (尽管看起来更像这里常见。

不过,看起来ffmpeg希望literally提供的%是这样的,所以批量处理的方法是在%之前加上一个脱字号: ^%

Erm-使双倍的%^x通常与具有特殊含义的字符一起工作; 似乎你需要%逃脱%