C# 执行CMD命令
C#执行CMD命令进行相关操作,记录一下。
/// <summary>
/// 执行CMD命令
/// </summary>
/// <param name="cmd">要执行的命令</param>
/// <returns></returns>
public static string RunCMDCommand(string cmd)
{
string cmdPath = "C:\\Windows\\System32\\cmd.exe"; //cmd.exe执行文件目录
cmd = cmd.Trim().TrimEnd('&') + "&exit"; //不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
string result = string.Empty;
Process process = new Process();
try
{
//设置要启动的执行程序
process.StartInfo.FileName = cmdPath;
//是否使用操作系统shell启动进程
process.StartInfo.UseShellExecute = false;
//应用程序的输入是否从Process.StandardInput流中读取/是否接受来自调用程序的输入信息
process.StartInfo.RedirectStandardInput = true;
//是否将应用程序的输出写入Process.StandardOutput流中/是否调用程序获取输出信息
//置为false时StandardOutput.ReadToEnd获取异常
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
//向cmd窗口写入命令
process.StandardInput.WriteLine(cmd);
process.StandardInput.AutoFlush = true;
//获取cmd窗口的输出信息
result = process.StandardOutput.ReadToEnd();
process.WaitForExit();//等待程序执行完退出进程
process.Close();
}
catch(Exception ex)
{
//记录错误日志信息
//log4net
result = string.Empty;
}
finally
{
//释放
process.Dispose();
}
return result;
}
调用:
string cmdStr = "***************"; //要执行的命令 string cmdResult=RunCMDCommand(cmdStr); MessageBox.Show("CMD命令处理结果:"+cmdResult);
欢迎相互交流学习!
jiayan1578@outlook.com

浙公网安备 33010602011771号