C#调用Winrar实现文件压缩

C#调用Winrar实现文件压缩

 闫磊   Email:Landgis@126.com,yanleigis@21cn.com 2007.12.12编写

一、   zip压缩控件存在问题

在C#中可以调用ICSharpCode.SharpZipLib.dll实现文件压缩,本人使用后发现存在如下问题

1、   文件压缩后为zip,文件要比rar大25%

2、   压缩过程没有进度条提示,大文件压缩时间要长一些

本人强烈建议压缩采用winrar,直接调用winrar

 

二、   WinRaR命令行的使用

使用如下"C:/Program Files/WinRAR/WinRAR.exe" a -ep e:/temp/20071112.rar E:/temp/20071212/*.*

参数a 表示压缩,开关 -EP - 名称中排除路径, e:/temp/20071112.rar是压缩后文件名 E:/temp/20071212/*.*是压缩的文件路径

三、   实现方法

//exeFileName是exe文件, Arguments是参数

private static void RunEXE(string exeFileName, string arguments)

{

 

    //声明一个程序信息类

    System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();

 

    //设置外部程序名

    Info.FileName = exeFileName;

    //设置外部程序的启动参数(命令行参数)

    Info.Arguments = arguments;

    //声明一个程序类

    System.Diagnostics.Process Proc;

    try

    {

 

        //启动外部程序

        Proc = System.Diagnostics.Process.Start(Info);

    }

    catch

    {

        MessageBox.Show("系统找不到指定的程序文件。");

        return;

    }

 

    //等待完成

    Proc.WaitForExit();

 

}

四、   调用方法

RunEXE("C:/Program Files/WinRAR/WinRAR.exe", "a -ep e:/temp/20071112.rar E:/temp/20071212/*.*")

 

 

 

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值