下面是我的代码。我的代码中有没有什么地方出错或遗漏了?
using (Process p = new Process())
{
string strCmdText = string.Empty;
p.StartInfo.FileName = "CMD.exe";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.Arguments = "tracetcp vrtpmkap2001:445";
p.Start();
string q = string.Empty;
while (!p.HasExited)
{
q += p.StandardOutput.ReadToEnd();
}
string r = q.ToString();
}我无法获取tracetcp的输出。
发布于 2014-11-06 11:31:55
使用此代码:
string cmd = "/c tracetcp vrtpmkap2001:445" ;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "cmd.exe"
proc.StartInfo.Arguments = cmd;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
string output = proc.StandardOutput.ReadToEnd();发布于 2014-11-06 12:54:06
谢谢你们所有人。
我已经弄清楚了问题所在。当c#运行cmd.exe时,它使用SysWOW64 cmd.exe
我只是在SysWOW64文件夹中添加了tracetcp.exe。
https://stackoverflow.com/questions/26771020
复制相似问题