C# 文件压缩与解压

压缩部分:
         try
            {
                string Rarexe = @"C:\Program Files\WinRAR\WinRAR.exe"; 
                //WinRAR.exe 的完整路径
                string mulu = @"F:\仓存数据\";
                // 子文件所在目录
                string fileList =null;

fileList += (mulu + "NewDB.xlsx ");

fileList += (mulu + "出入库总表.xlsx ");

fileList += (mulu + "A11-台账.xlsx ");

fileList += (mulu + "A10-台账.xlsx ");

fileList += (mulu + "A08-台账.xlsx ");

fileList += (mulu + "A05-台账.xlsx ");
                // 组织压缩文件列表
                string Cmd = string.Format("a " + DateTime.Now.ToString() + " {0} -r -ibck -inul",fileList); 
                //WinRAR 命令参数 
                ProcessStartInfo Startinfo = new ProcessStartInfo();
                Startinfo.FileName = Rarexe;
                // 设置压缩主程序位置
                Startinfo.Arguments = Cmd;                          
                // 设置命令参数  
                Startinfo.WorkingDirectory = @"F:\仓存数据\备份\7\";
                // 文件保存路径
                Process Process = new Process();
                // 创建新进程
                Process.StartInfo = Startinfo;
                // 给进程传递所有参数
                Process.Start();
                // 启动进程
                Process.WaitForExit(); 
                // 无限期等待进程 winrar.exe 退出      
                Process.Close();
                // 释放所有占用的资源
                MessageBox.Show("压缩完成!");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

解压部分:
        try
            {
                string Rarexe = @"C:\Program Files\WinRAR\WinRAR.exe";
                //WinRAR.exe 的完整路径
                string jypath = @"C:\";
                // 解压存放的路径
                Directory.CreateDirectory(jypath);
                // 创建指定路径的文件夹
                string Cmd = string.Format("x {0} {1} -ibck -inul ", @"F:\仓存数据\2014-7-10.rar", jypath);
                //WinRAR 命令参数 
                ProcessStartInfo Startinfo = new ProcessStartInfo();
                Startinfo.FileName = Rarexe;
                // 设置压缩主程序位置
                Startinfo.Arguments = Cmd;
                // 设置命令参数  
                Process Process = new Process();
                // 创建新进程
                Process.StartInfo = Startinfo;
                // 给进程传递所有参数
                Process.Start();
                // 启动进程
                Process.WaitForExit();
                // 无限期等待进程 winrar.exe 退出      
                Process.Close();
                // 释放所有占用的资源
                MessageBox.Show("成功解压到:" + jypath);
            }
            catch (Exception em)
            {
                MessageBox.Show(em.Message);
            }

其他参数:

* <命令> -<开关1> -<开关N> <压缩文件 > <文件...> <@列表文件...> <解压路径\>

*压缩 a      a -as -ed -inul -afrar -df -ibck -m4 -mt3 -or -y -hp123 d:\aa d:\aa.txt

*解压 x      x -hp123 -ibck -inul -y -mt5 d:\aa.rar a:\

*a d:\Info.zip D:\easyui

*-af 指定格式 -afzip -afrar

*-as 在当前添加的文件列表中不存在的被压缩文件,将会从压缩文件中删除

*-df 压缩后删除源文件

*-dr 删除到回收站

*-ed 不添加空文件夹

*-hp 添加密码 -hp123456

*-ibck 后台运行

*-inul 禁止错误信息

*-loff 压缩完成后 关闭电源

*-m0 存储 添加文件到压缩文件但是不压缩

*-m1 最快 最快速的方法 ( 最低的压缩比)

*-m2 快速 快速压缩方法

*-m3 标准 标准 (默认 ) 压缩方法

*-m4 较好 较好的压缩方法 (较高的压缩比)

*-m5 最优 最优的压缩方法 (最高压缩比但是速度也最慢)

*-mtN 线程 -mt5 1~32

*-or 自动重命名文件

*-r 连同子文件

*-z 压缩后测试文件

*-y 所有弹窗选择"是"

可以直接将WinRAR.exe 拷贝到 根目录下运行

不弹窗只需要打开开光 -ibck -inul 即可

时间: 2024-12-17 10:27:30

C# 文件压缩与解压的相关文章

iOS开发——网络编程OC篇&amp;(八)文件压缩与解压

文件压缩与解压 一.技术方案1.第三方框架:SSZipArchive2.依赖的动态库:libz.dylib 二.压缩11.第一个方法/** zipFile :产生的zip文件的最终路径 directory : 需要进行的压缩的文件夹路径 */[SSZipArchive createZipFileAtPath:zipFile withContentsOfDirectory:directory]; 2.第一个方法/** zipFile :产生的zip文件的最终路径 files : 这是一个数组,数组

文件压缩、解压工具类。文件压缩格式为zip

package com.JUtils.file; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; impor

Linux 各种类型文件 压缩、解压

个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268个人微信公众号(点击查看详情) -- https://blog.51cto.com/11495268/2401194     1.简介     Linux 环境下 一切皆文件,本文描述 关于 各种类型的 文件压缩.解压 操作     2.文件压缩格式      3.zip 格式 3.1 工具安装 # apt-get install zip      3.2 压缩 # zip -r zip.zip z

Java实现文件压缩与解压[zip格式,gzip格式]

Java实现ZIP的解压与压缩功能基本都是使用了Java的多肽和递归技术,可以对单个文件和任意级联文件夹进行压缩和解压,对于一些初学者来说是个很不错的实例. zip扮演着归档和压缩两个角色:gzip并不将文件归档,仅只是对单个文件进行压缩,所以,在UNIX平台上,命令tar通常用来创建一个档案文件,然后命令gzip来将档案文件压缩. Java I/O类库还收录了一些能读写压缩格式流的类.要想提供压缩功能,只要把它们包在已有的I/O类的外面就行了.这些类不是Reader和Writer,而是Inpu

linux下文件压缩与解压操作

对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可是Linux就不同了,它有.gz..tar.gz.tgz.bz2..Z..tar等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了.本文就来对这些常见的压缩文件进行一番小结,希望你下次遇到这些文件时不至于被搞晕.

实现asp.net的文件压缩、解压、下载

很早前就想做文件的解压.压缩.下载 了,不过一直没时间,现在项目做完了,今天弄了下.不过解压,压缩的方法还是看的网上的,嘻嘻~~不过我把它们综合了一下哦.呵呵~~ 1.先要从网上下载一个icsharpcode.sharpziplib.dll 2.建立类AttachmentUnZip,内容如下: using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;u

C# 文件压缩与解压(ZIP格式)

在企业开发过程中经常会遇到文件的压缩与解压,虽然网上很多流行的压缩文件格式都是RAR的,但是由于RAR不是一个开放的标准,因此ZIP成了更多人的选择.如果你不想自己开发的话可以选择开源的项目,比如SharpZipLib就是一个不错的选择. using System; using System.Collections.Generic; using System.Text; using System.IO; using ICSharpCode.SharpZipLib.Zip; using Syste

java实现文件压缩与解压

用java实现文件的压缩与解压是很常见的功能. 我最爱上代码: 1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.List; 4 5 import net.lingala.zip4j.core.ZipFile; 6 import net.lingala.zip4j.model.ZipParameters; 7 import net.lingala.zip4j.util.Zip4jConstants; 8

文件压缩与解压

文件压缩 通过某种特殊的编码方式将数据信息中存在的重复度.冗余度有效地降低,从而达到数据压缩的目的.这里用的是哈夫曼树产生特殊编码. //compress.h #pragma once typedef unsigned long long longType; struct CharInfo { unsigned char _ch;//字母信息 longType _count;  //出现次数 string _code;     //哈夫曼编码 CharInfo(){} CharInfo(long