说明:

(1)下载winrar.exe,安装到指定路径,例如:D:\WINRAR,之后把安装的文件夹(D:\WINRAR)拷贝到应用程序根目录;

(2)具体方法如下(注意方法中的路径):

/// <summary>/// 解压RAR和ZIP文件(需存在Winrar.exe(项目根目录存在 winrar.exe)/// </summary>/// <param name="pathRar">压缩文件绝对路径(包括文件名称)</param>/// <param name="deDir">解压目录</param>/// <param name="errInfo">异常信息</param>/// <param name="pwd">解压密码</param>/// <param name="isCover">所解压的文件是否会覆盖已存在的文件(如果不覆盖,所解压出的文件和已存在的相同名称文件不会共同存在,只保留原已存在文件)</param>/// <returns>true(解压成功);false(解压失败)</returns>public static bool DeCompressRarOrZip(string pathRar, string deDir, out string errInfo, string pwd = "", bool isCover = true){errInfo = "";try{if (!Directory.Exists(deDir))Directory.CreateDirectory(deDir);StringBuilder sb = new StringBuilder();sb.Append(" x");if (!string.IsNullOrWhiteSpace(pwd))sb.Append($" -p{pwd}");sb.Append(isCover ? " -o+" : " -o-");sb.Append($" \"{pathRar}\"");sb.Append($" \"{deDir}\"");sb.Append(" -y");string winRarPath = $@"{AppDomain.CurrentDomain.BaseDirectory}Winrar\WinRAR.exe";using (Process pro = new Process()){ProcessStartInfo psInfo = new ProcessStartInfo{//重定向输入(一定是true) RedirectStandardInput = true,//重定向输出  RedirectStandardOutput = true,RedirectStandardError = true,//不使用系统shell外壳程序启动UseShellExecute = false,//EXE路径FileName = winRarPath,//命令Arguments = sb.ToString(),//不创建窗体CreateNoWindow = true,WindowStyle = ProcessWindowStyle.Hidden};pro.StartInfo = psInfo;pro.Start();pro.WaitForExit();int code = pro.ExitCode;return code == 0;}}catch (Exception ex){errInfo = $"解压失败。\r\n详细信息:{ ex.Message}";return false;}}

C# 客户端rar/zip文件解压缩相关推荐

  1. Android Zip文件解压缩代码

    在Android平台中如何实现Zip文件的解压缩功能呢? 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面Android123给大家一个解压缩zip的 ...

  2. android代码zip怎么用,Android平台实现Zip文件解压缩

    [android]代码库在Android平台中如何实现Zip文件的解压缩功能呢? 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面给大家一个解压缩zi ...

  3. 利用java进行zip文件解压缩

    利用java进行zip文件解压缩 本文利用Java的zip包中的ZipFile和ZipEntry两个类,获取到压缩包中的所有文件,并将压缩文件通过InputStream写入一个byte数组,再将该by ...

  4. 解压 rar,zip 文件保存到本地

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.导入依赖 二.功能代码 三.测试结果 解压前 解压后 总结 参考博客1 参考博客2 参考博客3(此方法未使用) 前 ...

  5. 【转】C#执行rar,zip文件压缩的几种方法及我遇到的坑总结

    工作项目中需要用到zip压缩解压缩文件,一开始看上了Ionic.Zip.dll这个类库,操作方便,写法简单 对应有个ziphelper类 using Ionic.Zip;public static c ...

  6. Android zip文件解压缩工具类

    今天项目提了一个新需求:把html网页放在本地,如果后台修改了网页,手机端要去后台下载压缩包并解压后把本地的网页跟新成最新的,请求后台接口,根据返回的结果中的某个字段判断是否需要下载zip文件,如果需 ...

  7. 如何从ZIP文件解压缩文件

    在上一篇文章中,我们向您展示了如何将文件压缩为zip文件格式 . 在本文中,我们将向您展示如何解压缩它. 用" ZipInputStream "读取ZIP文件 将文件获取到&quo ...

  8. ubuntu里打开rar,zip文件方法

    方法一: rar 和 7zip 是两种源于 windows 的压缩格式, linux 对它们的支持并不像 tar 或者 gzip 那样理所当然,因此,当你在 ubuntu 下无法避开这两种压缩格式的文 ...

  9. 免费ZIP文件解压缩工具

    今日发现电脑用惯了的解压缩工具,居然在手机领域这么惨.下了十几个软件不是广告播放器就是各种 VIP,反正就是要钱,一气之下自己写一个 <!DOCTYPE html> <html la ...

最新文章

  1. 把ACL论文「几乎一字不落」抄到AAAI 2021上,作者回应:属借鉴
  2. R语言包_dplyr_1
  3. 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式
  4. CATALAN数 学习
  5. Oracle 绑定变量 详解 .
  6. linux备份文件到ftp上,Linux服务器下用FTP上传下载备份文件
  7. Android RecyclerView 向上偏移解决、添加自定义分割线,瀑布流,ScrollView嵌套RecyclerView滑动卡顿
  8. IP 、127.0.0.1、localhost 三者区别
  9. AT2364 Colorful Balls
  10. android的动画实例
  11. retrofit封装
  12. Winsock传输数据
  13. vue源码之数据侦测
  14. k8s集群ip地址变更后设置
  15. SSO单点登录方案大全
  16. 新手学习电脑知识的一些方法 oldtimeblog
  17. Unity图片优化神器 - Dither算法进阶方案
  18. 决策树在机器学习的理论学习与实践
  19. TensorFlow 入门到进阶,如何快速学习?
  20. Scrapy错误-no active project Unknown command: crawl

热门文章

  1. Microsoft word
  2. SpringBoot项目启动失败: is not eligible for getting processed by all BeanPostProcessors (for example: not)
  3. Excel 2013 如何分列操作
  4. HADOOP读写性能测试
  5. Ravpower苹果20W充电器,充电快又稳,使用更安全
  6. AppCompatActivity透明化处理
  7. houdini 求出曲线的法向 切线以及副法线
  8. 汽车模复杂曲面分型面的几种创建技巧
  9. Java Annotation 应用 -- 导出Excel表格
  10. 使用一键重装系统后,如何删除多余的PE系统引导菜单?