.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下载了免费的解压软件, 但是总觉着不好用, 广告信息很多. 好用的软件都要花钱, 所以找到了命令行解决的办法. 步骤如下: 首先需要 ...
随机推荐
- (转)postman安装及简单使用
Postman安装与使用 2018-06-04 22:58 by 虫师, 46636 阅读, 10 评论, 收藏, 编辑 Postman一款非常流行的API调试工具.其实,开发人员用的更多.因为测试人 ...
- 数据库升级到mysql5.7出现的1067 - Invalid default value for '字段名' (docker版)
docker run -d --name xxx mysql:5.7 docker container cp xxx:/etc/mysql/mysql.conf.d . // 取出mysql中的配 ...
- springboot 实现配置文件给常量赋值
@Component @ConfigurationProperties(prefix = "task.cron") public class TaskCronParam imple ...
- Colorful Bricks CodeForces - 1081C ( 组合数学 或 DP )
On his free time, Chouti likes doing some housework. He has got one new task, paint some bricks in t ...
- 数据结构排序算法插入排序Java实现
public class InsertDemo { public static void main(String args[]) { int[] sort ={4,2,1,3,6,5,9,8,10,7 ...
- Problem 2. number题解
number:数学+二分图匹配 首先,如果S<N,那么S+1,S+2...N这些数直接放在S+1,S+2...N的位置上(如果其他数x放在这些位置上面,这些数不放在对应位置,那么x一定能放在这些 ...
- golang项目练习
一.记账系统 1.该软件能够记录收入.支出,并能够打印收支明细表 2. 代码 package main import ( . "fmt" ) func menu() string{ ...
- Python基础:搭建开发环境(1)
1.Python语言简介 2.Python环境 Python环境产品存在多个. 2.1 CPython CPython是Python官方提供的.一般情况下提到的Python就是指CPython,CPy ...
- P3366 【模板】最小生成树
原题链接 https://www.luogu.org/problemnew/show/P3366 一道最小生成树的模板题...... 昨天刚学最小生成树,wz大佬讲的一塌糊涂井然有序,所以我们今天做起 ...
- win10子系统 (linux for windows)打造python, pytorch开发环境
一.windows设置 0.启用windows子系统 控制面板--程序--启用或关闭windows功能--勾选适用于linux的Windows子系统 确定后会重启电脑 1.下载Ubuntu 在Micr ...