我有一个批处理文件,在 Windows PC 上运行良好,但在 Windows 服务器上根本无法运行

我有一个批处理文件,在 Windows PC 上运行良好,但在 Windows 服务器上根本无法运行

我编写了一个批处理文件,使用 ffmpeg 将我相机中的 1080p 视频压缩为 720p 视频(使用 2 次传递)供我的网站使用。它在我家里的 Windows PC 上运行良好,但当我尝试在 Windows 2012 服务器上使用它时,它什么也没做。这是我编写的批处理文件:

for %%a in ("*.mp4") do ffmpeg -y -i ^"%%a^" -c:v libx264 -b:v 2000k -vf "scale=1280:-2" -preset fast -pass 1 -an -f mp4 NUL && ^
for %%a in ("*.mp4") do ffmpeg -i ^"%%a^" -c:v libx264 -b:v 2000k -vf "scale=1280:-2" -preset fast -pass 2 -c:a copy ^"converted/%%~na.mp4^

我希望在我的服务器上运行这个,这样我就可以为我的朋友编辑视频了。任何建议我都会非常感激。

答案1

我注意到 Windows 10 记事本默认编码是 UTF-8。Server 2012 R2 记事本默认编码是 ANSI。这意味着对批处理脚本文件的修改可能会输入导致问题的奇怪字符。不确定这是否是你的问题,但检查一下也无妨。简单的解决方法:将工作脚本中的命令复制或键入到 2012 中的新记事本窗口中,以确认没有发生奇怪的转换。似乎回避的类似问题是原因: 简单的批处理文件在 Windows Server 2012 上失败

相关内容