码迷,mamicode.com
首页 > Windows程序 > 详细

C#执行cmd命令相关知识

时间:2017-04-08 17:36:04      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:错误   窗口   方法   标准输出   null   tar   结束   lex   vhdl   

1.引入

using System.Diagnostics;  

2.创建执行CMD

Process CmdProcess = new Process();  
CmdProcess.StartInfo.FileName = "cmd.exe";    

3.配置开发方式输入输出错误

CmdProcess.StartInfo.CreateNoWindow = true;         // 不创建新窗口    
CmdProcess.StartInfo.UseShellExecute = false;       //不启用shell启动进程  
CmdProcess.StartInfo.RedirectStandardInput = true;  // 重定向输入    
CmdProcess.StartInfo.RedirectStandardOutput = true; // 重定向标准输出    
CmdProcess.StartInfo.RedirectStandardError = true;  // 重定向错误输出  

4.执行cmd且获取返回值

方法一

CmdProcess.StartInfo.Arguments = "/c " + "=====cmd命令======";//“/C”表示执行完命令后马上退出  
CmdProcess.Start();//执行  

CmdProcess.StandardOutput.ReadToEnd();//获取返回值  

CmdProcess.WaitForExit();//等待程序执行完退出进程  

CmdProcess.Close();//结束  

方法二

CmdProcess.StandardInput.WriteLine(str + "&exit"); //向cmd窗口发送输入信息  
CmdProcess.StandardInput.AutoFlush = true;  //提交  

CmdProcess.Start();//执行  

CmdProcess.StandardOutput.ReadToEnd();//输出  

CmdProcess.WaitForExit();//等待程序执行完退出进程  

CmdProcess.Close();//结束  

5.输出返回值

首先 引入

using System.IO;
            StreamReader sr =CmdProcess.StandardOutput;//获取返回值 
            string line = ""; 
            int num = 1;
            while ((line=sr.ReadLine())!=null)
            {   
                if(line!="")
                {
                    Console.WriteLine(line + " " + num++);
                }
            }

6.Process 的 HasExited属性

    //等待程序执行完退出进程
    CmdProcess.WaitForExit();

    //判断程序是退出了进程 退出为true(上面的退出方法执行完后,HasExited的返回值为 true) 
     falg = CmdProcess.HasExited; 

C#执行cmd命令相关知识

标签:错误   窗口   方法   标准输出   null   tar   结束   lex   vhdl   

原文地址:http://www.cnblogs.com/kt00/p/6682038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!