C# 使用WinRar命令压缩和解压缩

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Web;  
    using System.Web.UI;  
    using System.Web.UI.WebControls;  
      
    using System.Diagnostics;  
    using System.IO;  
      
    public partial class Zip : System.Web.UI.Page  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
      
        }  
      
        //压缩文件  
        protected void Button1_Click(object sender, EventArgs e)  
        {  
            ProcessStartInfo startinfo = new ProcessStartInfo(); ;  
            Process process = new Process();  
            string rarName = "1.rar"; //压缩后文件名  
            string path = @"C:\images"; //待压缩打包文件夹  
            string rarPath = @"C:\zip";  //压缩后存放文件夹  
            string rarexe = @"c:\Program Files\WinRAR\WinRAR.exe";  //WinRAR安装位置  
      
            try  
            {  
                //压缩命令,相当于在要压缩的文件夹(path)上点右键->WinRAR->添加到压缩文件->输入压缩文件名(rarName)  
                string cmd = string.Format("a {0} {1} -r",  
                                    rarName,  
                                    path);  
                startinfo.FileName = rarexe;  
                startinfo.Arguments = cmd;                          //设置命令参数  
                startinfo.WindowStyle = ProcessWindowStyle.Hidden;  //隐藏 WinRAR 窗口  
      
                startinfo.WorkingDirectory = rarPath;  
                process.StartInfo = startinfo;  
                process.Start();  
                process.WaitForExit(); //无限期等待进程 winrar.exe 退出  
                if (process.HasExited)  
                {  
                    MSCL.JsHelper.Alert("压缩成功!", Page);  
                }  
            }  
            catch (Exception ex)  
            {  
                MSCL.JsHelper.Alert(ex.Message, Page);  
            }  
            finally  
            {  
                process.Dispose();  
                process.Close();  
            }          
        }  
      
        //解压文件  
        protected void Button2_Click(object sender, EventArgs e)  
        {  
            ProcessStartInfo startinfo = new ProcessStartInfo(); ;  
            Process process = new Process();  
            string rarName = "1.rar"; //将要解压缩的 .rar 文件名(包括后缀)  
            string path = @"C:\images1"; //文件解压路径(绝对)  
            string rarPath = @"C:\zip";  //将要解压缩的 .rar 文件的存放目录(绝对路径)  
            string rarexe = @"c:\Program Files\WinRAR\WinRAR.exe";  //WinRAR安装位置  
      
            try  
            {  
                //解压缩命令,相当于在要压缩文件(rarName)上点右键->WinRAR->解压到当前文件夹  
                string cmd = string.Format("x {0} {1} -y",  
                                    rarName,  
                                    path);  
                startinfo.FileName = rarexe;  
                startinfo.Arguments = cmd;                          //设置命令参数  
                startinfo.WindowStyle = ProcessWindowStyle.Hidden;  //隐藏 WinRAR 窗口  
      
                startinfo.WorkingDirectory = rarPath;  
                process.StartInfo = startinfo;  
                process.Start();  
                process.WaitForExit(); //无限期等待进程 winrar.exe 退出  
                if (process.HasExited)  
                {  
                    MSCL.JsHelper.Alert("解压缩成功!", Page);  
                }  
            }  
            catch (Exception ex)  
            {  
                MSCL.JsHelper.Alert(ex.Message, Page);  
            }  
            finally  
            {  
                process.Dispose();  
                process.Close();  
            }     
        }  
    }