C#调用批处理(bat)文件,并获取执行批处理(bat)文件后返回值

C#调用批处理(bat)文件,并获取执行批处理(bat)文件后返回值

/// 
/// 执行BAT文件
/// 
/// csv文件参数
/// 
   
    bat文件执行返回值
   
static string execBAT(string fileName)
{
    ProcessStartInfo pro = new System.Diagnostics.ProcessStartInfo("cmd.exe");
    pro.UseShellExecute = false;
    pro.RedirectStandardOutput = true;
    pro.RedirectStandardError = true;
    pro.CreateNoWindow = true;
    pro.FileName = ConfigurationManager.AppSettings["BatFilePath"];
    pro.Arguments = fileName;
    //pro.WorkingDirectory = System.Environment.CurrentDirectory;
    System.Diagnostics.Process proc = System.Diagnostics.Process.Start(pro);
    System.IO.StreamReader sOut = proc.StandardOutput;
    proc.Close();
    string results = sOut.ReadToEnd().Trim(); //回显内容  
    sOut.Close();
    string[] values = results.Split(new String[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
    return values[values.Length - 1];
}

//另外一种获取方式,在bat中设置exit code
static string execBAT(string fileName)
{
    ProcessStartInfo pro = new System.Diagnostics.ProcessStartInfo("cmd.exe");
    pro.UseShellExecute = false;
    pro.RedirectStandardOutput = true;
    pro.RedirectStandardError = true;
    pro.CreateNoWindow = true;
    pro.FileName = ConfigurationManager.AppSettings["BatFilePath"];
    pro.Arguments = fileName;
    //pro.WorkingDirectory = System.Environment.CurrentDirectory;
    System.Diagnostics.Process proc = System.Diagnostics.Process.Start(pro);
    proc.WaitForExit();
    return proc.ExitCode.ToString();
}

ps;

C#调用批处理(bat)文件,并获取执行批处理(bat)文件后返回值_第1张图片

你可能感兴趣的:(C#,Bat,批处理)