从c#运行命令

本文关键字:命令 运行 | 更新日期: 2023-09-27 18:13:53

糟糕的话题,但真的不能说更多。

事情是,我试图从cmd运行某个命令,如果我在windows中正常这样做,它是完美的,在c#中它不起作用,即使它是完全相同的字符串。

我是这样做的:

        Process cwebp = new Process();
        cwebp.StartInfo.FileName=("cmd.exe");
       cwebp.StartInfo.Arguments = Settings.EncoderSettings[0];
       cwebp.Start();

参数几乎是任何东西,例如:

opusenc—比特率100 input.wav output.opus

这里有什么根本问题吗?一直在搜索很多,找不到任何信息,一切都说(使用参数),我这样做,它不像预期的那样工作。

从c#运行命令

除了Steve的回答之外,您还可以直接启动命令,而不首先使用cmd:

Process.Start("opusenc", "--bitrate 100 input.wav output.opus");

要执行shell命令,您需要在

参数行添加参数/C (/K)
 Process cwebp = new Process();
 cwebp.StartInfo.FileName=("cmd.exe");
 cwebp.StartInfo.Arguments = "/C " + Settings.EncoderSettings[0];
 cwebp.Start();

没有它,进程。Start方法启动cmd命令处理程序,但是,这个方法立即退出,而不处理传递的参数。