如何在C#中运行tracetcp并获得输出结果



下面是我的代码。我的代码中有什么错误或缺失吗?

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的输出。

使用此代码:

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();

谢谢大家。

我已经解决了这个问题。当c#运行cmd.exe时,它使用SysWOW64 cmd.exe

我只是在SysWOW64文件夹中添加了tracetcp.exe。

相关内容

  • 没有找到相关文章

最新更新