gpt4 book ai didi

c# - process.start() 参数

转载 作者:IT王子 更新时间:2023-10-29 04:01:55 26 4
gpt4 key购买 nike

当我在dos中执行以下命令时它会正常工作

ffmpeg -f image2 -i frame%d.jpg -vcodec mpeg4 -b 800k video.avi

当我尝试在 c# 中使用进程类时,如果没有参数,它会在控制台窗口中加载 ffmpeg,然后像往常一样消失。但是,当我尝试像上面那样使用参数时,格式完全相同......它不起作用! ffmpeg 仍然加载,但是由于控制台窗口关闭得太快,我无法确定错误是什么:/

Process ffmpeg = new Process();
ffmpeg.StartInfo.FileName = path + "//" + "ffmpeg.exe";
ffmpeg.StartInfo.Arguments = " -f image2 -i frame%d.jpg -vcodec mpeg4 -b 800k video.avi";
ffmpeg.Start();

谁知道这是为什么?为什么命令在 dos 下运行,然后使用 c# 运行失败,即使参数完全相同?我以前用这种方法做很多事情,但从未遇到过这种情况。

最佳答案

不是真正的直接答案,但我强烈建议使用 LINQPad对于这种“探索性”C# 编程。

我在 LINQPad 中保存了以下“查询”:

var p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c echo Foo && echo Bar";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardOutput.ReadToEnd().Dump();

随时根据需要进行调整。

关于c# - process.start() 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3268022/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com