我想创建一个 .bat 文件来运行 FFmpeg 命令。它运行良好,直到我决定使用变量。
这里是
SET file=C:\[My Files\.01Movie\video879.mp4
SET folder=C:\[My Files\.01Movie\
ffmpeg -i "%file%" -vf "fps=1/60,scale=960:-2" "%folder%\out%04d.jpg"
当我使用绝对路径时,它按预期工作。这是工作
ffmpeg -i "C:\[My Files\.01Movie\video879.mp4" -vf "fps=1/60,scale=960:-2" "C:\[My Files\.01Movie\out%04d.jpg"
答案1
MSDos 并不真正理解“%folder%\out%04d.jpg”
因为它看到的是这个变量:%folder%\out% 而不是 %folder%。如果使用转义字符 ^ 来转义 %,它应该可以正常工作。
因此你的批处理文件变成:
ffmpeg -i "%file%" -vf "fps=1/60,scale=960:-2" "%folder%\out^%04d.jpg"
答案2
啊哈,看来我路径中的 ([) 是问题所在。原来我应该用 \ 来转义它