1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.IO;
  5. using Microsoft.Win32;
  6. using System.Diagnostics;
  7. using System.Web;
  8. public class Winrar
  9. {
  10. /// <summary>
  11. /// 是否安装了Winrar
  12. /// </summary>
  13. /// <returns></returns>
  14. static public bool Exists()
  15. {
  16. RegistryKey the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/WinRAR.exe");
  17. return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());
  18. }
  19. /// <summary>
  20. /// 打包成Rar
  21. /// </summary>
  22. /// <param name="patch"></param>
  23. /// <param name="rarPatch"></param>
  24. /// <param name="rarName"></param>
  25. public string CompressRAR(string patch, string rarPatch, string rarName)
  26. {
  27. string the_rar;
  28. RegistryKey the_Reg;
  29. object the_Obj;
  30. string the_Info;
  31. ProcessStartInfo the_StartInfo;
  32. Process the_Process;
  33. try
  34. {
  35. the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/WinRAR.exe");
  36. the_Obj = the_Reg.GetValue("");
  37. the_rar = the_Obj.ToString();
  38. the_Reg.Close();
  39. the_rar = the_rar.Substring(1, the_rar.Length - 7);
  40. Directory.CreateDirectory(patch);
  41. //命令参数
  42. //the_Info = " a    " + rarName + "  " + @"C:Test?70821.txt"; //文件压缩
  43. the_Info = " a    " + rarName + "  " + patch + "  -r"; ;
  44. the_StartInfo = new ProcessStartInfo();
  45. the_StartInfo.FileName = the_rar;
  46. the_StartInfo.Arguments = the_Info;
  47. the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  48. //打包文件存放目录
  49. the_StartInfo.WorkingDirectory = rarPatch;
  50. the_Process = new Process();
  51. the_Process.StartInfo = the_StartInfo;
  52. the_Process.Start();
  53. the_Process.WaitForExit();
  54. the_Process.Close();
  55. }
  56. catch (Exception ex)
  57. {
  58. return ex.Message;
  59. }
  60. return string.Empty;
  61. }
  62. /// <summary>
  63. /// 解压
  64. /// </summary>
  65. /// <param name="unRarPatch"></param>
  66. /// <param name="rarPatch"></param>
  67. /// <param name="rarName"></param>
  68. /// <returns></returns>
  69. public string unCompressRAR(string unRarPatch, string rarPatch, string rarName)
  70. {
  71. string the_rar;
  72. RegistryKey the_Reg;
  73. object the_Obj;
  74. string the_Info;
  75. try
  76. {
  77. the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/WinRAR.exe");
  78. the_Obj = the_Reg.GetValue("");
  79. the_rar = the_Obj.ToString();
  80. the_Reg.Close();
  81. //the_rar = the_rar.Substring(1, the_rar.Length - 7);
  82. if (Directory.Exists(unRarPatch) == false)
  83. {
  84. Directory.CreateDirectory(unRarPatch);
  85. }
  86. the_Info = "x /"" + rarName + "/" /"" + unRarPatch + "/" -y";
  87. ProcessStartInfo the_StartInfo = new ProcessStartInfo();
  88. the_StartInfo.FileName = the_rar;
  89. the_StartInfo.Arguments = the_Info;
  90. the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  91. the_StartInfo.WorkingDirectory = rarPatch;//获取压缩包路径
  92. Process the_Process = new Process();
  93. the_Process.StartInfo = the_StartInfo;
  94. the_Process.Start();
  95. the_Process.WaitForExit();
  96. the_Process.Close();
  97. }
  98. catch (Exception ex)
  99. {
  100. return ex.Message;
  101. }
  102. return string.Empty;
  103. }
  104. }

asp.net 在线解压缩文件类的更多相关文章

  1. ASP.NET利用WINRar实现在线解压缩文件

    一.肯定是服务器必须装了winrar这个软件了. 二.创建Helper类,如下: using System; using System.Collections.Generic; using Syste ...

  2. asp利用winrar解压缩文件

    '当前文件夹路径 server.MapPath("./") '网站根目录 server.MapPath("/") Dim strZipFolder ' 待压缩的 ...

  3. ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug

    ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug 近日发现eWebEditor V2.8 asp 版本上传文件文件名不能包含中文双引号,发现eWebEditor使用ASP“无惧上 ...

  4. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  5. Unity3d通用工具类之解压缩文件

    今天,我们来写写c#是如何通过代码解压缩文件的. 在游戏的项目中呢,常常我们需要运用到解压缩的技术.比如,当游戏需要更新的时候,我们会从服务器中下载更新的压缩文件包. 这时候我们就需要解压文件,然后覆 ...

  6. ZIP解压缩文件的工具类【支持多级文件夹|全】

    ZIP解压缩文件的工具类[支持多级文件夹|全] 作者:Vashon 网上有非常多的加压缩演示样例代码.可是都仅仅是支持一级文件夹的操作.假设存在多级文件夹的话就不行了. 本解压缩工具类经过多次检查及重 ...

  7. ZIP解压缩文件的工具类【支持多级目录|全】

    ZIP解压缩文件的工具类[支持多级目录|全] 作者:Vashon 网上有很多的加压缩示例代码,但是都只是支持一级目录的操作,如果存在多级目录的话就不行了.本解压缩工具类经过多次检查及重构,最终分享给大 ...

  8. asp.net web开发——文件夹的上传和下载

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

  9. asp.net之大文件断点续传

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

随机推荐

  1. [leetcode]Remove Nth Node From End of List @ Python

    原题地址:http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/ 题意: Given a linked list, remo ...

  2. HDU 4576 Robot (概率DP)

    暴力DP求解太卡时间了...........写挫一点就跪了 //hdu robot #include <cstdio> #include <iostream> #include ...

  3. 【OpenCV】解析OpenCV中copyMakerBorder函数

    Use the OpenCV function :copy_make_border:`copyMakeBorder <>` to set the borders (extra paddin ...

  4. (算法)前K大的和

    题目: 1.有两个数组A和B,每个数组有k个数,从两个数组中各取一个数加起来可以组成k*k个和,求这些和中的前k大. 2.有N个数组,每个数组有k个数,从N个数组中各取一个数加起来可以组成k^N个和, ...

  5. 如何使用Ultraiso制作U盘启动盘

    准备好可启动的ISO文件和足够容量的U盘.点击工具-写入硬盘镜像. 各种U盘启动模式简介 1.USB-HDD:硬盘仿真模式,DOS启动后显示C:盘,HP U盘格式化工具制作的U盘即采用此启动模式.此模 ...

  6. 87. 再谈变体型Variant

    在85. BASIC和LotusScript中的Variant一文中.我提到了BASIC风格的语言中的变体型Variant.由于下述种种原因.在LotusScript中常常要用到变体型. 1.     ...

  7. iPhone调用ffmpeg2.0.2解码h264视频的示例代码

    iPhone调用ffmpeg2.0.2解码h264视频的示例代码 h264demo.zip 关于怎么在MAC下编译iOS下的ffmpeg请看 编译最新ffmpeg2.0.1(ffmpeg2.0.2)到 ...

  8. PHP 自学之路-----XML编程(Dom技术)

    上一节,讲了Xml文件基本语法及元素,实体及Dtd约束技术,下面就正式进入PHP的Xml编程 使用PHP技术对Xml文件进行操作 常用的有以下三种技术: 1.PHP dom 2.PHP结合XPath操 ...

  9. 图说十大数据挖掘算法(一)K最近邻算法

    如果你之前没有学习过K最近邻算法,那今天几张图,让你明白什么是K最近邻算法. 先来一张图,请分辨它是什么水果 很多同学不假思索,直接回答:“菠萝”!!! 仔细看看同学们,这是菠萝么?那再看下边这这张图 ...

  10. axios 请求参数配置说明

    axios的配置项地址参考: https://www.npmjs.com/package/axios { // `url` is the server URL that will be used fo ...