首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用System.Diagnostic.Process运行nbtstat

无法使用System.Diagnostic.Process运行nbtstat
EN

Stack Overflow用户
提问于 2017-02-24 15:06:02
回答 1查看 313关注 0票数 2

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

代码语言:javascript
复制
 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();

这个命令

代码语言:javascript
复制
nbtstat -A 10.10.10.5

从命令提示符中可以很好地工作。我无法理解这个问题,也无法在网上找到可以帮助我的资源。如果有人能引导我朝正确的方向走的话?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 16:06:56

您应该直接调用nbtstat.exe程序,没有必要调用CMD来调用它。所以用这一行代替;

代码语言:javascript
复制
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo(@"c:\windows\sysnative\nbtstat.exe", "-A 10.10.10.5");

我还使用Sysnative,因为Windows64bit重定向。如this post中所示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42441912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档