我试图从C#运行命令行脚本。我希望它在没有shell的情况下运行,并将输出放入我的字符串输出中。它不喜欢p.StartInfo行。我究竟做错了什么?我没有运行像p.StartInfo.FileName =“YOURBATCHFILE.bat”的文件,如How To: Execute command line in C#, get STD OUT results。我需要设置“CMD.exe”和命令行字符串。我试过p.Start(“CMD.exe”,strCmdText);但是这给了我错误:“Memer'System.Diagnostics.Process.Start(string,string)'不能使用实例引用进行访问;请使用类型名称对其进行限定。”从没有窗口的C#运行命令行并获取输出
string ipAddress;
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
string strCmdText;
strCmdText = "tracert -d " + ipAdress;
p.StartInfo("CMD.exe", strCmdText);
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
你可以提供一个程序给我们建立?我99%肯定这个不会 –
“它不喜欢p.StartInfo行。”究竟是什么错误? – kjbartel
不,它不会运行,因为IP地址是特定于我的机器的,并且p.StartInfo也不会编译。它说它“不能像方法一样使用”。 – Sean