C#调用CMD执行命令并获得返回结果

许多时候我们需要调用CMD执行一些命令,并且取得执行结果,代码如下

using System;
using System.Diagnostics;

namespace CMDHelper
{
    public class Cmd
    {
        public static void Main(string[] args)
        {
            RunCmdCommand("ping 127.0.0.1", out string res);
            Console.WriteLine(res);
            Console.ReadKey();
        }
        private static string CmdPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.System) + "\\cmd.exe";

        public static void RunCmdCommand(string command, out string output)
        {
            using (Process process = new Process())
            {
                command = command.Trim().TrimEnd('&') + "&exit";

                process.StartInfo.FileName = CmdPath;
                process.StartInfo.CreateNoWindow = true;// 隐藏窗口运行
                process.StartInfo.RedirectStandardError = true;// 重定向错误流
                process.StartInfo.RedirectStandardInput = true;// 重定向输入流
                process.StartInfo.RedirectStandardOutput = true;// 重定向输出流
                process.StartInfo.UseShellExecute = false;

                process.Start();

                process.StandardInput.WriteLine(command);// 写入Cmd命令
                process.StandardInput.AutoFlush = true;

                output = process.StandardOutput.ReadToEnd();//读取结果
                process.WaitForExit();
                process.Close();
            }
        }
    }
}

Azure99

大二蒟蒻,喜欢折腾vps、玩机,偶尔写写代码

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注