c# rar解压大小_C# 压缩与解压缩RAR文件的代码

///压缩与解压缩RAR文件

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

using Microsoft.Win32;

using System.Diagnostics;

namespace Uni.UniCustoms

{

public class clsWinrar

{

///

/// 是否安装了Winrar

///

///

static public bool Exists()

{

RegistryKey the_Reg =

Registry.LocalMachine.OpenSubKey(

@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");

return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());

}

///

/// 打包成Rar

///

///

///

///

public void CompressRAR(string patch, string rarPatch, string rarName)

{

string the_rar;

RegistryKey the_Reg;

object the_Obj;

string the_Info;

ProcessStartInfo the_StartInfo;

Process the_Process;

try

{

the_Reg =

Registry.LocalMachine.OpenSubKey(

@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");

the_Obj = the_Reg.GetValue("");

the_rar = the_Obj.ToString();

the_Reg.Close();

the_rar = the_rar.Substring(1, the_rar.Length - 7);

Directory.CreateDirectory(patch);

//命令参数

//the_Info = " a    " + rarName + " " + @"C:Test?70821.txt"; //文件压缩

the_Info = " a    " + rarName + " " + patch + " -r"; ;

the_StartInfo = new ProcessStartInfo();

the_StartInfo.FileName = the_rar;

the_StartInfo.Arguments = the_Info;

the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

//打包文件存放目录

the_StartInfo.WorkingDirectory = rarPatch;

the_Process = new Process();

the_Process.StartInfo = the_StartInfo;

the_Process.Start();

the_Process.WaitForExit();

the_Process.Close();

}

catch (Exception ex)

{

throw ex;

}

}

///

/// 解压

///

///

///

///

///

public string unCompressRAR(string unRarPatch, string rarPatch, string rarName)

{

string the_rar;

RegistryKey the_Reg;

object the_Obj;

string the_Info;

try

{

the_Reg =

Registry.LocalMachine.OpenSubKey(

@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");

the_Obj = the_Reg.GetValue("");

the_rar = the_Obj.ToString();

the_Reg.Close();

//the_rar = the_rar.Substring(1, the_rar.Length - 7);

if (Directory.Exists(unRarPatch) == false)

{

Directory.CreateDirectory(unRarPatch);

}

the_Info = "x " + rarName + " " + unRarPatch + " -y";

ProcessStartInfo the_StartInfo = new ProcessStartInfo();

the_StartInfo.FileName = the_rar;

the_StartInfo.Arguments = the_Info;

the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

the_StartInfo.WorkingDirectory = rarPatch;//获取压缩包路径

Process the_Process = new Process();

the_Process.StartInfo = the_StartInfo;

the_Process.Start();

the_Process.WaitForExit();

the_Process.Close();

}

catch (Exception ex)

{

throw ex;

}

return unRarPatch;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值