C# 调用CMD执行ipconfig命令并且输出结果,但是现在输出结果有问题 p.StandardOutput.ReadToEnd();

输出结果如下:“MicrosoftWindows[版本10.0.10586](c)2015MicrosoftCorporation。保留所有权利“代码如下:stringc... 输出结果如下:“Microsoft Windows [版本 10.0.10586](c) 2015 Microsoft Corporation。保留所有权利“
代码如下:
string commandText = "ipconfig";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
p.Start();
p.StandardInput.WriteLine("ipconfig");
p.StandardInput.AutoFlush = true;
p.StandardInput.WriteLine("exit");
string output =p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
展开
 我来答
百度网友5298263
2016-10-25 · TA获得超过968个赞
知道小有建树答主
回答量:1005
采纳率:94%
帮助的人:527万
展开全部
应该没问题
而且你没必要运行cmd
直接运行ipconfig不是更好吗
追问
不行输出结果不对,并不是ipconfig命令结果,使用“ipconfig“只是为了调试,实际不是使用这个命令
追答
我这用你的代码执行结果正常
ipconfig的输出都在output里
你尝试在ReadToEnd前 做点延时看一下
是不是那时候cmd还没完全启动
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2016-10-25 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7828万
展开全部
有什么问题?
更多追问追答
追问
string output =p.StandardOutput.ReadToEnd();
这个ouput输出结果是
“Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有权利。”

并不是“ipconfig”命令执行的结果
追答
这个你稍稍用字符串函数或者正则提取一下就行。实现功能就行了。性能也不会差。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式