C#运行批处理【转】

 /// <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());
    }
}

【转】:http://www.newlifex.com/showtopic-318.aspx

posted @ 2013-07-31 11:18  纵一苇之所如-  阅读(439)  评论(0编辑  收藏  举报