.net 解压缩 rar文件
public static class RARHelper
{
public static bool ExistsWinRar()
{
bool result = false;
string key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(key);
if (registryKey != null)
{
// result = registryKey.GetValue("").ToString();
result = true;
}
registryKey.Close();
return result;
}
// <summary>
/// 将格式为rar的压缩文件解压到指定的目录
/// </summary>
/// <param name="rarFileName">要解压rar文件的路径</param>
/// <param name="saveDir">解压后要保存到的目录</param>
public static void DeCompressRar(string sourceFilePath, string destinationPath)
{
try
{
string key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(key);
var rarexe = registryKey.GetValue("").ToString();
registryKey.Close();
var shellArguments = string.Format("x -o+ \"{0}\" \"{1}\\\"", sourceFilePath, destinationPath);
using (Process unrar = new Process())
{
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = rarexe;
startinfo.Arguments = shellArguments; //设置命令参数
startinfo.WindowStyle = ProcessWindowStyle.Hidden; //隐藏 WinRAR 窗口
unrar.StartInfo = startinfo;
unrar.Start();
unrar.WaitForExit();//等待解压完成
unrar.Close();
}
}
catch (System.Exception ex)
{
}
}
/// <summary>
/// 将目录和文件压缩为rar格式并保存到指定的目录
/// </summary>
/// <param name="soruceDir">要压缩的文件夹目录</param>
/// <param name="rarFileName">压缩后的rar保存路径</param>
public static void CompressRar(string soruceDir, string rarFileName)
{
try
{
string key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe";
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(key);
var rarexe = registryKey.GetValue("").ToString();
registryKey.Close();
var shellArguments = string.Format("a -ep1 \"{0}\" \"{1}\" -r", rarFileName, soruceDir);
using (Process unrar = new Process())
{
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = rarexe;
startinfo.Arguments = shellArguments; //设置命令参数
startinfo.WindowStyle = ProcessWindowStyle.Hidden; //隐藏 WinRAR 窗口
unrar.StartInfo = startinfo;
unrar.Start();
unrar.WaitForExit();//等待解压完成
unrar.Close();
}
}
catch (System.Exception ex)
{
}
}
}
.net 解压缩 rar文件的更多相关文章
- 让Ubuntu可以压缩/解压缩RAR文件
ubuntu刚安装的时候是不能解压rar文件的,只有在安装了解压工具之后,才可以解压. 安装:sudo apt-get install unrar卸载:sudo apt-get remove unra ...
- Ubuntu解压缩rar格式文件
解压缩rar文件时,出现问题 解决方法: sudo apt-get install unrar
- php实现rar文件的读取和解压
PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能. 1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载 ...
- python利用unrar实现rar文件解压缩
python第三方包unrar可以实现rar文件的解压缩,它以动态库UnRAR为基础,封装而成 1. 下载UnRAR动态库 https://pypi.python.org/pypi/unrar/0.2 ...
- Java实现对zip和rar文件的解压缩
通过java实现对zip和rar文件的解压缩
- 如何解决rar文件解压缩失败
附件经常会是一系列的压缩文件,下载是默认文件名是一个随机数字.因而下载完会出现压缩文件解压缩失败解决方法:下载时重命名为带一定顺序的文件名,如文件1,文件2,文件3等 如何解决单个文件解压失败?论坛中 ...
- Python 解压缩Zip和Rar文件到指定目录
#__author__ = 'Joker'# -*- coding:utf-8 -*-import urllibimport osimport os.pathimport zipfilefrom zi ...
- 关于linux下rar文件的解压缩操作
在linux系统下.本身没有对rar文件操作的命令,如果需要对rar格式的文件操作,我们需要安装第三方的软件rar以及unrar. 1.linux下rar管理软件下载的官方地址为:http://www ...
- mac rar文件解压缩
在下载文件时经常遇到RAR格式的压缩文件, 之前从APP Store下载了免费的解压软件, 但是总觉着不好用, 广告信息很多. 好用的软件都要花钱, 所以找到了命令行解决的办法. 步骤如下: 首先需要 ...
随机推荐
- Java 8 Stream介绍及使用1
(原) stream的内容比较多,先简单看一下它的说明: A sequence of elements supporting sequential and parallel aggregate * o ...
- oracle 行列转换
oracle 行列转换列名如果是数字,用双引号包住 如下: -- 建表 create table workinfo(wid integer primary key,sid integer ,CON ...
- .NET和PHP程序员如何通过技术快速变现
刚开始写博客不足之处望大家多多指点,少一些质疑多一些帮助,我们就能成为朋友. 上一篇:<.NET程序员我是如何通过一个产品在2年内买车买房>有很多同为程序员的小伙伴们给我留言,从整体的留言 ...
- 转载:用Jquery实现的图片预加载技术,可以实现有序加载和无序加载!
一.背景 我们在做页面的时候,从用户体验的角度出发,肯定是希望用户以最快的速度看到完整的页面信息,但在实际情况中经常会遇到些问题. 比如受网速影响,页面加载素材的时间比较长,页面会出现短时间的错乱或者 ...
- vue学习初探
一.环境的搭建安装 VS Code vue开发环境的搭建 理解vue的脚手架 合适的cnpm版本
- 【C语言】位运算
编写一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位0).函数调用形式为getbits(value,n1,2).----简单题目遇到想不到的问题 c语言位运算经典问题: ...
- ecshop 商品属性显示方法
功能:在商品列表上,点击放大镜,显示商品所有属性以及其价格,效果如下: 方法/步骤: 1.编辑\admin\templates\goods_list.htm 模板,在 <!-- 商品搜索 --& ...
- linux cp 直接覆盖不提示信息 解决方法
默认情况下,cp覆盖时,无论加什么参数 -f 之类的 还是提示是否覆盖. 原因是:服务器会默认增加别名 alias cp=’cp -i’,当你执行cp时,其实执行的是cp –i. [root@ltt0 ...
- python_正则表达式随笔
webpage_regex = re.search(r'span_ed7[\s\S]*', dd) [\s\S]* 匹配多行,转义字符 webpage_regex = re.compile('< ...
- Linux学习之路1
root用户 安装初始系统默认没有启动root用户,如下方式启动: l sudo passwd l 连续输入两次密码,启动root用户 l 再登陆 登陆root用户 l su root l ...