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

来源:互联网 发布:vb自学视频 编辑:程序博客网 时间:2024/05/16 18:39

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));