winrar 压缩文件方法
问题描述:
我要一些大的文件进行压缩,看了网上有很多类拟的写法。但在我这都存在两个问题。
1.就是他们都是通过注册表找到rar的exe目录。我安装好winrar后,虽然注册表有,但那个目录一直报一个错。
2.压缩文件中包含了上几层的目录。
问题分析:
1.针对第一个问题其实你就指定你机器的目录就行了。何必那么麻烦。
2.加一个对应的指令就行了。
具体代码如下:
用如下代码前先安装好winrar
/// <summary>
/// 利用 WinRAR 进行压缩
/// </summary>
/// <param name="strRarPatch">待压缩文件目录</param>
/// <param name="strRarFiles">待压缩文件路径(绝对全路径)</param>
/// <param name="strPatch">压缩目录(绝对路径)</param>
/// <param name="strRarName">压缩后的文件名</param>
public static void SaveRar(string strRarPatch, string strRarFiles, string strPatch, string strRarName)
{
String strThe_Info;
ProcessStartInfo the_StartInfo;
Process the_Process;
try
{
if (!Directory.Exists(strPatch))
{
Directory.CreateDirectory(strPatch);
}
//命令参数 df:删除原文件 ep:从名称中排除路径
//如果压缩文件不指定具体文件夹,只给一个压缩文件,默认会跟原文件放在同一目录
strThe_Info = string.Format(" a -df -ep {0}\\{1} {2} -r", strPatch, strRarName, strRarFiles);
the_StartInfo = new ProcessStartInfo();
//从配置信息中找到对应winrar安装目录的exe对应绝对路径:如:C:\Program Files (x86)\WinRAR\WinRAR.exe
string strWinRarPath =System.Configuration.ConfigurationSettings.AppSettings["WinRarPath"].ToString();
the_StartInfo.FileName = @strWinRarPath;
the_StartInfo.Arguments = strThe_Info;
the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
//打包文件存放目录
the_StartInfo.WorkingDirectory = strRarPatch;
the_Process = new Process();
the_Process.StartInfo = the_StartInfo;
the_Process.Start();
the_Process.WaitForExit();
the_Process.Close();
}
catch (Exception ex)
{
throw ex;
}
}
利用winrar 进行压缩
winrar 压缩文件方法的更多相关文章
- 文件上传,服务端压缩文件方法,重点是png与gif图片的压缩,保证了透明度与动画
/// <summary> /// 上传文件帮助类 /// </summary> public class ImageUploadHelper { #region SaveVi ...
- linux 解压 WinRAR 压缩文件
1.Download rar for linux wget http://www.rarlab.com/rar/rarlinux-x64-5.5.b1.tar.gz 2.Configure rar t ...
- 【转载】使用Winrar对压缩文件进行加密,并且给定解压密码
有时候我们从网上下载的压缩包文件,如.rar文件.zip文件等,解压的时候需要输入解压密码才可顺利解压,否则解压失败.其实像这种情况,是压缩包制作者在压缩文件的时候对压缩文件进行了加密,输入了压缩包解 ...
- "xxxx".zip:这个压缩文件格式未知或者数据已经被损坏,打不开压缩文件,总出现这个提示的解决方法
从网上下载了一些压缩文件,有时解压时会出现“这个压缩文件格式未知或者数据已经被损坏”或“未找到压缩文件”的提示. 造成的原因有两种: 一.网站上的压缩文件本来就是坏的. 1.你可以尝试可以使用WINR ...
- 使用zip压缩文件夹方法
最近使用MapGis对.MPJ工程文件文件裁剪后,要对裁剪后的图形文件.ML,.MT,.MP,.MPJ文件打包,在网上找到7zip,Zlib的库,虽然都有源码,但是Zlib库中的使用没找到文件压缩的函 ...
- java对压缩文件进行加密,winrar和好压 直接输入解密密码来使用
<!-- https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j --> <dependency> <gro ...
- 用Winrar批量解压缩有密码文件方法,只需输入一次密码
老王上传的文件多是RAR压缩格式的, 每个系列下载完,都20多集,解压缩的时候要一个一个的输入密码,太浪费时间. 1) 把下载的需要解压缩的文件统一放到一个文件夹下. 2) 启动winrar程序 (从 ...
- 利用WinRAR命令行压缩文件或文件夹
压缩文件夹winrar.exe a -ag -k -r -s -ibck c:/bak.rar c:/dat/ 压缩多个文件winrar a -ag -ibck bak.rar filename1 f ...
- 批处理命令调用WINRAR对文件进行压缩
命令: winrar a 参数 压缩后的文件 压缩源文件 如压缩apk文件,代码如下 echo apk文件不能直接下载,所以压缩apk成rar来下载 d: cd D:\Program Files\W ...
随机推荐
- 使用Jeditable插件时遇到的问题
Jeditable在渲染页面已有DIV=>form的时候 首先使用 $("div").html(); 去获取原DIV中的内容. 这样导致一个问题, 如果原div中带有html ...
- NPOI--操作Excel之利器(一)
最近在做一个产品配置的项目,类似于京东上的自主装机,也就是根据自己的需要配置一套完整的产品,只不过我们做的是一个网络产品的配置,如路由器,交换机等网络设备.配置完成后会将配置的信息导出到Excel中, ...
- linux 用户打开进程数和文件数调整
1 查看nproc(max user processes)命令 [root@vm-cdh4 ~]# ulimit -u 14866 2 修改nproc 临时修改, 重登录或重启后失效: [root@v ...
- C# 中怎么将string转换成int型
int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.ToInt32(str);以上都可 ...
- C#创建Windows服务入门图解(VS2010)
C#创建Windows服务入门图解(VS2010) Windows服务大家都知道,比如Audio.Theme都是大家比较熟悉的服务,他们可以设为自动启动的,并且在注册表的开机自启动项里是没有痕迹的.所 ...
- centos7没有安装ifconfig命令的解决方法
ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端,运行ifc ...
- 20141103--SQL主键,外键
设置主键: 右键表→设计,在需要的列上右键→设置主键 或者在创建表的时候,在想要作为索引的列后面加上 primary key create table biao3 ( [No.] int primar ...
- ThinkPHP快速入门
ThinkPHP快速入门 1.ThinkPHP自动生成 当我们部署完ThinkPHP框架后,其会自动生成Application文件夹,如下图所示: 2.自动生成细节分析 问题1:Application ...
- JavaScript 全局
JavaScript 全局 JavaScript 全局属性和方法可用于创建Javascript对象. JavaScript 全局属性 属性 描述 Infinity 代表正的无穷大的数值. NaN 指示 ...
- C++ 双链表基本操作
上一篇博客主要总结了单向链表,这次再总结一下双向链表. 1.概念 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱.所以,从双向链表中的任意一个结点开始,都 ...