我搜索了谷歌一个小时,但我找不到任何解决问题的方法。我发现只有“类似”修复我遇到的问题。
我从批处理文件中打开ffmpeg.exe
,该文件只有ffmpeg.exe
且没有参数,并且即使它在几个小时前发生也不起作用。
如果我从文件夹打开命令行并输入ffmpeg.exe
它可以正常工作,因为它没有关闭ffmpeg
但等待我的输入,这正是批处理文件以前的工作方式。
可能是什么问题?
我没有更改批处理文件或ffmpeg
一个或他们的位置。
如果重要,请在Windows 7 x64上运行。
修改:文件名为start ffmpeg.bat
。它的内容只是ffmpeg.exe
以前的工作。我还尝试了start ffmpeg.exe
和ffmpeg
,并将文件名更改为1.bat
和1.cmd
,但都没有效果。
编辑2:抱歉,我无法解释自己,我的英语不是很好,但我会尝试解释使用这些图片:
,这就是我得到的这是我运行批处理文件时获得的(在我添加暂停后) 批量内容:第1行= ffmpeg.exe,第2行=暂停。
正如您所看到的,没有暂停,ffmpeg将终止并且不会像第一张图像一样保留在屏幕上。
我尝试重命名该文件,我试图以管理员身份运行它,但都没有工作,任何建议为什么它突然没有像昨天一样运行?
答案 0 :(得分:3)
首先是第一件事。我想你的意思是你的批处理文件名是ffmpeg.bat
而不是start ffmpeg.bat
,但你是从cmd.exe调用start ffmpeg.bat
吗?
无论如何,永远不要将批处理文件名称与可执行文件名称相同。
那为什么你需要跑步?您可以使用完整路径调用批处理文件中的可执行文件。启动时,它将启动一个不需要的新cmd窗口。所以这应该可以正常工作。
"C:\program files\wherever ffmpeg is\ffmpeg.exe"
在批处理文件中,它会在退出批处理之前自动等待外部程序关闭。如果你不确定它为什么关闭,它可能会出错。你明确地说它“不起作用,即使它在几个小时前工作了”。这不是决定性的。所以然后在脚本底部添加一个暂停以捕获该异常。
"C:\program files\wherever ffmpeg is\ffmpeg.exe"
pause
修改强> 添加截图后,ffmpeg仍然正常运行。这就是批处理文件在完成后运行和退出的想法。 ffmpeg.exe显然已完成,因为它显示命令未完成,并将退出。当您在保持模式下进行会话时,从cmd运行时不会发生这种情况。所以,如果你想开始会话并等待,那么就像这样制作你的批处理:
cmd /k ffmpeg.exe