C#nbtstat进程找不到指定的文件

时间:2016-02-05 12:36:36

标签: c# process

我正在尝试使用nbtstat获取客户的mac地址。我正在使用System.Diagnostics.Process来执行命令。

Process p = new Process();
p.StartInfo.FileName = "nbtstat";
p.StartInfo.Arguments = string.Format("-a {0}", principal.Name);
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();

不幸的是,该代码会引发异常。

  

系统找不到指定的文件。

如果nbtstat的exe文件在System32文件夹中,它应该没有我想到的完整路径。但无论如何我用完整的路径尝试了它。

p.StartInfo.FileName = @"C:\Windows\System32\nbtstat.exe";

代码仍然抛出异常。我可以使用其他命令,例如ipconfiggetmacping等。这只是nbtstat导致问题。我仔细检查了nbtstat.exe的目录,它位于右侧文件夹中。我也尝试使用ProcessStartInfo这样:

ProcessStartInfo info = new ProcessStartInfo();
// set properties like above
Process.Start(info);

这也没有帮助(如果这样可行会让我感到困惑,但上面的代码没有,因为它应该完全相同,对吧?)。

我正在使用Windows窗体和.NET Framework 4.5。

1 个答案:

答案 0 :(得分:2)

要么切换到任何cpu或检查os verison并获取环境路径,请查看https://stackoverflow.com/a/21028022/87956