找传奇、传世资源到传世资源站!

C# 调用CMD 并输出命令返回信息的例子

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

一个调用系统自带的Cmd的例子,可实现ping和ipconfig操作
from clipboard /// <summary>
        /// 执行CMD语句
        /// </summary>
        /// <param name="cmd">要执行的CMD命令</param>
        public string RunCmd(string cmd)
        {
            proc.StartInfo.CreateNoWindow = true;
            //设定程序名
            proc.StartInfo.FileName = "cmd.exe";
            //关闭Shell的使用,要重定向 IO 流,Process 对象必须将 UseShellExecute 属性设置为 False。
            proc.StartInfo.UseShellExecute = false;
            //重定向错误输出
            proc.StartInfo.RedirectStandardError = true;
            //重定向标准输入
            proc.StartInfo.RedirectStandardInput = true;
            //重定向标准输出
            proc.StartInfo.RedirectStandardOutput = true;
            string pingStr;
            //启动
            proc.Start();
            //输入执行命令
            proc.StandardInput.WriteLine("ping " cmd);
            proc.StandardInput.WriteLine("exit");
            //从输出流获取结果
            string outStr = proc.StandardOutput.ReadToEnd();
            if (outStr.IndexOf("(0% loss)") != -1)
                pingStr = "链接";
            else if (outStr.IndexOf("Destination host unreachable.") != -1)
                pingStr = "无法到达主机";
            else if (outStr.IndexOf("Request timed out.") != -1)
                pingStr = "超时";
            else if (outStr.IndexOf("Unkonw host") != -1)
                pingStr = "无法解析主机";
            else
                pingStr = outStr;

            proc.Close();
            return pingStr;
        }
        /// <summary>
        /// 查询显示ipconfig的所有信息
        /// </summary>
        /// <returns></returns>
        public string GetIp()
        {
            //设置不显示窗口
            proc.StartInfo.CreateNoWindow = true;
            //设定程序名
            proc.StartInfo.FileName = "cmd.exe";
            //关闭Shell的使用,要重定向 IO 流,Process 对象必须将 UseShellExecute 属性设置为 False。
            proc.StartInfo.UseShellExecute = false;
            //重定向错误输出
            proc.StartInfo.RedirectStandardError = true;
            //重定向标准输入
            proc.StartInfo.RedirectStandardInput = true;
            //重定向标准输出
            proc.StartInfo.RedirectStandardOutput = true;
            //启动
            proc.Start();
            //输入执行命令
            proc.StandardInput.WriteLine("ipconfig /all\r\n");
            proc.StandardInput.WriteLine("exit");
            // 从输出流获取结果
            string outStr = proc.StandardOutput.ReadToEnd();
            proc.Close();
            return outStr;
        }

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复