C#中获取CMD命令返回的结果,总是获取不到想要的。。

.Net技术 码拜 6年前 (2015-05-10) 991次浏览 0个评论

这个是获取到的字符串结果:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

E:\代码\参考\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug>ipconfig\

E:\代码\参考\WindowsFormsApplication2\WindowsFormsApplication2\bin\Debug>exit

代码:
        Cmd c = new Cmd();
        c.RunCmd(@”ipconfig”);

        public string RunCmd(string cmd)
        {
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = “cmd.exe”;
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.Start();
            proc.StandardInput.WriteLine(cmd);
            proc.StandardInput.WriteLine(“exit”);
            string outStr = proc.StandardOutput.ReadToEnd();
            proc.Close();
            return outStr;
        }
大神帮忙看看是不是那地方存在问题,小弟拜谢了!

15分
http://zhidao.baidu.com/link?url=qsZDoH7sLTScxBWkr5qdlX82V_5VLUA_lzQJXxJMRItlHLWpC-xsId3SdgsZR0Zi8kn4EBESziEm1SDxIm_n-a3cbE1PTsGBTEtSGnMrZvm
引用 1 楼 q644415569 的回复:

http://zhidao.baidu.com/link?url=qsZDoH7sLTScxBWkr5qdlX82V_5VLUA_lzQJXxJMRItlHLWpC-xsId3SdgsZR0Zi8kn4EBESziEm1SDxIm_n-a3cbE1PTsGBTEtSGnMrZvm

这个还是不行,获取的还是“Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。”这样的信息。。。。

引用 2 楼 bana0001 的回复:
Quote: 引用 1 楼 q644415569 的回复:

http://zhidao.baidu.com/link?url=qsZDoH7sLTScxBWkr5qdlX82V_5VLUA_lzQJXxJMRItlHLWpC-xsId3SdgsZR0Zi8kn4EBESziEm1SDxIm_n-a3cbE1PTsGBTEtSGnMrZvm

这个还是不行,获取的还是“Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。”这样的信息。。。。

对啊 , 你看下面的回答啊,上面那个是问题。。。。。。

引用 3 楼 q644415569 的回复:
Quote: 引用 2 楼 bana0001 的回复:
Quote: 引用 1 楼 q644415569 的回复:

http://zhidao.baidu.com/link?url=qsZDoH7sLTScxBWkr5qdlX82V_5VLUA_lzQJXxJMRItlHLWpC-xsId3SdgsZR0Zi8kn4EBESziEm1SDxIm_n-a3cbE1PTsGBTEtSGnMrZvm

这个还是不行,获取的还是“Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。”这样的信息。。。。

对啊 , 你看下面的回答啊,上面那个是问题。。。。。。

对哦,我就是按照那篇提供了解决办法的博文里面的代码来调试了一下,结果还是一样

你的命令多了一个“\”,改为:

c.RunCmd(@"ipconfig");
10分
获取 ipconfig 结果可以这样写 

var info = new ProcessStartInfo
{
    FileName = "ipconfig",
    Arguments = "/all",
    RedirectStandardOutput = true,
    UseShellExecute = false
};
var p = Process.Start(info);
var result = p.StandardOutput.ReadToEnd();
5分
ipconfig 后面莫名其妙加个斜杠是要干嘛

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#中获取CMD命令返回的结果,总是获取不到想要的。。
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!