从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
这里有什么根本问题吗?一直在搜索很多,找不到任何信息,一切都说(使用参数),我这样做,它不像预期的那样工作。
除了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命令处理程序,但是,这个方法立即退出,而不处理传递的参数。