C#操作压缩文件(rar,zip,gzip,winform/asp.net)

http://www.cnblogs.com/wequst/archive/2009/01/08/1371760.html

 

 

1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext

2、rar a file d:/*.ext

将d盘下所有ext文件(不包括自文件夹)添加到压缩包中

3、rar x Fonts *.ttf
从压缩文件中解压 *.ttf 字体文件到当前文件夹

4、rar x Fonts *.ttf NewFonts/

从压缩文件中解压 *.ttf 字体文件到 NewFonts 目录下

5、rar e -p密码 test.rar

将有密码test.rar文件,解压到当前文件夹

C#调用rar.exe解压一个rar文件到系统的临时目录:

//取得系统临时目录
string sysTempDir = Path.GetTempPath();

//要解压的文件路径,请自行设置
string rarFilePath = @"d:/test.rar";

//确定要解压到的目录,是系统临时文件夹下,与原压缩文件同名的目录里
string unrarDestPath = Path.Combine(sysTempDir,
    Path.GetFileNameWithoutExtension(rarFilePath));

//组合出需要shell的完整格式
string shellArguments = string.Format("x -o+ /"{0}/" /"{1}///"",
    rarFilePath, unrarDestPath);

//用Process调用
using (Process unrar = new Process())
{
    unrar.StartInfo.FileName = "rar.exe";
    unrar.StartInfo.Arguments = shellArguments;
    //隐藏rar本身的窗口
    unrar.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    unrar.Start();
    //等待解压完成
    unrar.WaitForExit();
    unrar.Close();
}

//统计解压后的目录和文件数
DirectoryInfo di = new DirectoryInfo(unrarDestPath);

MessageBox.Show(string.Format("解压完成,共解压出:{0}个目录,{1}个文件",
    di.GetDirectories().Length, di.GetFiles().Length));

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值