C++可以通过[code]system()[/code]执行系统命令,那么C#如何执行系统命令呢?
步骤
C#并没有直接提供执行系统命令的函数,但是我们可以通过静默启动cmd实现。
注:请先引用命名空间[code]using System.Diagnostics;[/code]
1.初始化cmd进程对象
//创建进程对象 Process process = new Process(); //设定此进程对象的信息 ProcessStartInfo startInfo = new ProcessStartInfo(); //设定将要打开的应用 startInfo.FileName = System.Environment.GetFolderPath(Environment.SpecialFolder.System) + "\\cmd.exe"; //设定需要执行的命令,“/C”表示执行完命令后马上退出 startInfo.Arguments = "/C " + "执行的命令"; //不使用系统外壳程序启动 startInfo.UseShellExecute = false; //不重定向输入 startInfo.RedirectStandardInput = false; //重定向输出(用于读取输出) startInfo.RedirectStandardOutput = true; //不创建窗口,不显示 startInfo.CreateNoWindow = true; process.StartInfo = startInfo;
2. 打开cmd,读取输入,并退出
try { //启动程序 process.Start(); //无限等待退出 process.WaitForExit(); //获得输出信息 string outstr = process.StandardOutput.ReadToEnd(); } finally { process.Close(); }
实例
读取输入的命令,执行后输出结果