zoukankan      html  css  js  c++  java
  • C# 使用WinRar命令压缩和解压缩

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



  • 相关阅读:
    在asp.net实现文件下载
    Insus IO Utility
    Marquee无间隙滚动(二)
    Refactoring Parameter
    How do I filtered TextBox with a Decimal (double) Data Type
    创建自己的类库
    把选中Gridview的记录显示出来
    如何取得当前网页名称
    一位老程序员十年的职场感悟
    java 跳转语句
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234118.html
Copyright © 2011-2022 走看看