时间:2021-05-20
本文实现了C#隐式运行CMD命令的功能。下图是实例程序的主画面。在命令文本框输入DOS命令,点击“Run”按钮,在下面的文本框中输出运行结果。
下面是程序的完整代码。本程序没有使用p.StandardOutput.ReadtoEnd()和p.StandardOutput.ReadLine()方法来获得输出,因为这些方法执行后画面容易卡死。而是通过调用异步方法BeginOutputReadLine来获取输出,并在事件p.OutputDataReceived的事件处理方法中来处理结果。
using System;using System.Diagnostics;using System.IO;using System.Windows.Forms; namespace RunDosCommandForm{ publicpartialclassForm1 : Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(object sender, EventArgse) { ExcuteDosCommand(textBox1.Text); } privatevoidExcuteDosCommand(string cmd) { try { Process p = newProcess(); p.StartInfo.FileName = "cmd"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.OutputDataReceived += newDataReceivedEventHandler(sortProcess_OutputDataReceived); p.Start(); StreamWriter cmdWriter = p.StandardInput; p.BeginOutputReadLine(); if (!String.IsNullOrEmpty(cmd)) { cmdWriter.WriteLine(cmd); } cmdWriter.Close(); p.WaitForExit(); p.Close(); } catch(Exception ex) { MessageBox.Show("执行命令失败,请检查输入的命令是否正确!"); } } privatevoidsortProcess_OutputDataReceived(object sender,DataReceivedEventArgs e) { if(!String.IsNullOrEmpty(e.Data)) { this.BeginInvoke(newAction(() => { this.listBox1.Items.Add(e.Data);})); } } }}我们还可以将需要运行的CMD命令保存为BAT文件,再使用Process类来执行。
Process p = new Process();//设定调用的程序名,不是系统目录的需要完整路径 p.StartInfo.FileName = "cmd.bat";//传入执行参数 p.StartInfo.Arguments = "";p.StartInfo.UseShellExecute = false;//是否重定向标准输入 p.StartInfo.RedirectStandardInput = false;//是否重定向标准转出 p.StartInfo.RedirectStandardOutput = false;//是否重定向错误 p.StartInfo.RedirectStandardError = false;//执行时是不是显示窗口 p.StartInfo.CreateNoWindow = true;//启动 p.Start();p.WaitForExit();p.Close();声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
MS的CMD命令行是一种重要的操作界面,一些在C#中不那么方便完成的功能,在CMD中几个简单的命令或许就可以轻松搞定,如果能在C#中能完成CMD窗口的功能,那一
CMD命令窗口在一些特殊情况时我们会用到,如PING下看网络通不通。在CMD窗口里运行命令如磁盘格式转换,在开始运行输入CMD回车后,CMD命令黑框框出来闪一下
以电脑为例,打开cmd命令窗口的方法是:按下键盘上的WIN+R快捷键,调出运行窗口。在运行窗口中,输入:CMD,然后回车确认输入,并执行输入内容。CMD命令行窗
dos常见命令有:调出运行命令窗口,按快捷键win+R,CMD命令提示符输入命令cmd后按回车,注册表输入命令regedit后按回车,打开画图工具,输入命令ms
电脑怎么进行刷新DNS缓存呢?下面简单介绍下。1、开始菜单,点击运行,并输入cmd,打开命令窗口。2、在命令窗口输入ipconfig/displaydns命令。