/// <summary>
/// C#运行bat文件
/// </summary>
/// <param name="batPath"></param>
private void RunBat(string batPath)
{
Process pro = new Process();
FileInfo file = new FileInfo(batPath);
//设置启动进程的初始目录
pro.StartInfo.WorkingDirectory = file.Directory.FullName;
//设置要启动的引用程序或文档
pro.StartInfo.FileName = batPath;
//设置不在新窗口启动
pro.StartInfo.CreateNoWindow = false;
//开始执行
pro.Start();
//完成退出
pro.WaitForExit();
}
protected static void RunCmd(String cmd, Boolean showWindow, Boolean waitForExit) { WriteLine("RunCmd " + cmd); Process p = new Process(); ProcessStartInfo si = new ProcessStartInfo(); String path = Environment.SystemDirectory; path = Path.Combine(path, @"cmd.exe"); si.FileName = path; if (!cmd.StartsWith(@"/")) cmd = @"/c " + cmd; si.Arguments = cmd; si.UseShellExecute = false; si.CreateNoWindow = !showWindow; si.RedirectStandardOutput = true; si.RedirectStandardError = true; p.StartInfo = si; p.Start(); if (waitForExit) { p.WaitForExit(); String str = p.StandardOutput.ReadToEnd(); if (!String.IsNullOrEmpty(str)) WriteLine(str.Trim(new Char[] { '\r', '\n', '\t' }).Trim()); str = p.StandardError.ReadToEnd(); if (!String.IsNullOrEmpty(str)) WriteLine(str.Trim(new Char[] { '\r', '\n', '\t' }).Trim()); } }