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

我正在尝试使用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();

不幸的是,该代码抛出了一个例外.

The system cannot find the file specified.

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

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

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

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

这也没有用(如果这有效,我会很困惑,但上面的代码没有,因为它应该完全一样,对吧?).

我正在使用Windows Forms和.NET Framework 4.5.

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

点赞