[英]Running Commands from C#
最糟糕的话题,但不能说更多。
问题是,我正在尝试从cmd运行某个命令,如果我在Windows中正常执行此命令,它是完美无缺的,在C#中,即使它是完全相同的字符串,也无法正常工作。
这是我的方法:
Process cwebp = new Process();
cwebp.StartInfo.FileName=("cmd.exe");
cwebp.StartInfo.Arguments = Settings.EncoderSettings[0];
cwebp.Start();
好参数几乎是任何东西,例如:
opusenc --bitrate 100 input.wav output.opus
这里有什么基本问题吗? 一直在搜索很多东西,找不到任何信息,所有内容都说(使用Arguments),我也这样做了,而且它没有按预期工作。
除了史蒂夫的答案,您可以直接启动命令,而无需首先使用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();
没有它,Process.Start方法将启动cmd命令处理器,但是这一步将立即退出,而不处理传递的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.