gpt4 book ai didi

c# - 无法使用 System.Diagnostic.Process 运行 nbtstat

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:53 24 4
gpt4 key购买 nike

我有一段代码可以使用 System.Diagnostic.Process 执行命令。但是,当我尝试使用相同的代码运行 nbtstat 时,它没有返回任何内容(也没有异常)。当我运行主机名(作为示例)时,它返回主机名。

 string result = "";
//string commandToExec = "hostname";
string commandToExec = "nbtstat -A 10.10.10.5";
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("C:\\Windows\\System32\\cmd.exe", "/c " + commandToExec);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
result = proc.StandardOutput.ReadToEnd();

这个命令

nbtstat -A 10.10.10.5

在命令提示符下运行良好。我无法理解这个问题,也无法在网上找到可以提供帮助的资源。如果有人可以指导我正确的方向吗?

最佳答案

直接调用nbtstat.exe程序即可,不需要调用CMD调用。所以改用这一行;

System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo(@"c:\windows\sysnative\nbtstat.exe", "-A 10.10.10.5");

由于 Windows64 位重定向,我也使用 Sysnative。如 this post 中所述

关于c# - 无法使用 System.Diagnostic.Process 运行 nbtstat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42441912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com