zoukankan      html  css  js  c++  java
  • Asp.net调用RAR压缩 解压文件


        
    //压缩
        protected void btnY_Click(object sender, EventArgs e)
        
    {
            
    string rar;
            RegistryKey reg;
            
    string args;
            ProcessStartInfo procStart;
            Process process;
            
    try
            
    {
                reg 
    = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");
                rar 
    = reg.GetValue("").ToString();//获取注册表rar安装路径
                reg.Close();
                rar 
    = rar.Substring(1, rar.Length - 7);//获取rar安装路径
                args = "a -inul -y G:\\temp.rar G:\\1.txt";//这里为rar的压缩命令格式(也可以自行扩展)
                procStart = new ProcessStartInfo();
                procStart.FileName 
    = rar;
                procStart.Arguments 
    = args;//参数
                procStart.WindowStyle = ProcessWindowStyle.Hidden;//窗口状态
                procStart.WorkingDirectory = Server.MapPath(""); ;//获取或设置要启动的进程的初始目录。
                process = new Process();
                process.StartInfo 
    = procStart;
                process.Start();
                Response.Write(
    "<script>alert('压缩成功')</script>");
            }

            
    catch (Exception ex)
            
    {
                Response.Write(ex.ToString());
            }

        }

        
    //解压
        protected void btnJ_Click(object sender, EventArgs e)
        
    {
            
    string rar;
            RegistryKey reg;
            
    string args;
            ProcessStartInfo startInfo;
            Process process;
            
    try
            
    {
                reg 
    = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
                rar 
    = reg.GetValue("").ToString();
                reg.Close();
                rar 
    = rar.Substring(1, rar.Length - 7);
                args 
    = " X E:\\temp.rar E:\\";
                startInfo 
    = new ProcessStartInfo();
                startInfo.FileName 
    = rar;
                startInfo.Arguments 
    = args;
                startInfo.WindowStyle 
    = ProcessWindowStyle.Hidden;
                process 
    = new Process();
                process.StartInfo 
    = startInfo;
                process.Start();
                Response.Write(
    "<script>alert('解压成功')</script>");
            }

            
    catch (Exception ex)
            
    {
                Response.Write(ex.ToString());
            }

        }


    例:把E:\web\目录下的所有东西打包为1.rar放到E:\web\目录下,以便下载
        "C:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 E:\web\1.rar E:\web\
    参数说明:
        a 添加文件到压缩文件中
        -k 锁定压缩文件
        -s产生固体存档,这样可以增大压缩比
        -r包括子目录
        -m1 设置压缩比
           -m0   存储      添加到压缩文件时不压缩文件。
           -m1   最快      使用最快方式(低压缩)
           -m2   较快      使用快速压缩方式
           -m3   标准      使用标准(默认)压缩方式
           -m4   较好      使用较好压缩方式(较好压缩,但是慢)
           -m5   最好      使用最大压缩方式(最好的压缩,但是最慢)

  • 相关阅读:
    ctf web 百度杯”CTF比赛 九月场Upload i春秋
    ctf web 西普实验吧 登陆一下好吗 MySQL隐式转化 MySQL表达式的计算顺序
    Firefox 47.0.1
    给数组原型添加方法
    JS中几种常见的数组算法(前端面试必看)
    进制转换技巧解析
    redis通过6379端口无法连接服务器
    阿里云图片或文件上传 启动时报Error creating bean with name 'ossClient'问题
    20170628-三七互娱-测试工程师(提前批)
    20170514-vivo-软件工程师Java(提前批)
  • 原文地址:https://www.cnblogs.com/bobofsj11/p/1233073.html
Copyright © 2011-2022 走看看