c#调用cmd(可输入指令)
2015-10-20 20:27
621 查看
/// <summary> /// c#调用cmd /// </summary> /// <param name="strcmd">输入的命令</param> public static void RunCommand(string strcmd) { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息 p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息 p.StartInfo.RedirectStandardError = true;//重定向标准错误输出 p.StartInfo.CreateNoWindow = true;//不显示程序窗口 p.Start();//启动程序 //向cmd窗口发送输入信息 p.StandardInput.WriteLine(strcmd + "&exit"); p.StandardInput.AutoFlush = true; //p.StandardInput.WriteLine("exit"); //向标准输入写入要执行的命令。这里使用&是批处理命令的符号,表示前面一个命令不管是否执行成功都执行后面(exit)命令,如果不执行exit命令,后面调用ReadToEnd()方法会假死 //同类的符号还有&&和||前者表示必须前一个命令执行成功才会执行后面的命令,后者表示必须前一个命令执行失败才会执行后面的命令 //获取cmd窗口的输出信息 StreamReader reader = p.StandardOutput; p.WaitForExit();//等待程序执行完退出进程 p.Close(); Console.WriteLine(reader.ReadToEnd()); }
相关文章推荐
- c# 读取xml常用方法
- C#调用注册表,修改IE相关配置
- C#图片压缩
- C#中的异常捕获机制(try catch finally)
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
- C#的脚本编译
- VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)
- 大白话系列之C#委托与事件讲解
- c# IEnumerable和IEnumerator & Lambda表达式
- C# WinForm 单例模式(例:同一个窗体只创建一次实例)
- C#学习日记27----属性
- 如何有效的使用C#读取文件
- C#中的隐藏和重写
- c# XML和实体类之间相互转换(序列化和反序列化)
- C#内存优化
- C# 值类型和引用类型,堆和堆栈的区别
- 传智播客c#学习笔记1
- C#开发经典书籍
- [转]C#之反射
- C#中对EXCEL保存的SAVEAS方法说明