class UseWinRar
{
private string rarExeFile = null;//WinRar.exe路径
private bool useAble = false;//标志WinRar是否可用
public UseWinRar()//构造方法
{
rarExeFile = getRarExe();
useAble = !string.IsNullOrEmpty(rarExeFile);//如果WinRar.exe路径不为空,说明可用
}
public static string getRarExe()//获取WinRar所在磁盘路径
{
string rarExe = null;
RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
if (regKey == null)
{
return null;
}
rarExe = regKey.GetValue("").ToString();
regKey.Close();//关闭注册表
return rarExe;
}
public bool exeRarCmd(string cmd)//执行某个命令
{
if (!useAble)
{
return false;
}
Process process = new Process();//新建一个过程
ProcessStartInfo startInfo = new ProcessStartInfo(rarExeFile);//新建一个启动信息
startInfo.Arguments = cmd;//设置启动信息的执行参数
//startInfo.WorkingDirectory = workDirectory;//设置启动信息的工作目录
startInfo.WindowStyle = ProcessWindowStyle.Hidden;//设置程序后台运行
process.StartInfo = startInfo;//设置过程的启动信息
process.Start();//开始过程
return true;
}
public bool unZipAll(string zipFile, string targetDirectory)//将指定压缩文件解压到指定目录
{
if (! File.Exists(zipFile))
{
return false;
}
string zipCmd = "x " + zipFile +" "+ targetDirectory + " -y -ibck";//后台解压压缩文件中全部文件到指定目录
exeRarCmd(zipCmd);//执行解压操作
return true;
}
public bool unZipToCurrentDirectory(string zipFile)//将压缩文件解压到当前目录
{
if (!File.Exists(zipFile))
{
return false;
}
FileInfo fileInfo = new FileInfo(zipFile);
return unZipAll(zipFile, fileInfo.DirectoryName);
}
}
Main:
public static void Main()
{
UseWinRar rar = new UseWinRar();
string[] zipFiles = Directory.GetFiles(Environment.CurrentDirectory, "*.zip");//获取所有zip文件路径
foreach (string zipFile in zipFiles)
{
rar.unZipToCurrentDirectory(zipFile);
}
}
这样便可以实现后台解压当前目录下所有*.zip文件。
分享到:
相关推荐
C# 调用WinRAR压缩和解压文件。必须安装WinRAR。
调用WinRAR加密压缩文件源码,多个文件压缩成一个
C#调用WINRAR实现压缩与解压 详细源码
C#调用Winrar实现压缩与解压缩,注意电脑必须装有winrar才可正常运行此程序
c# 利用WinRAR压缩解压缩文件 本例运用c#调用WinRAR进行压缩和解压缩
C#调用WINRAR压缩文件 <br>抛砖引玉
改代码运行于 .NETFORMWORK2之上,通过C#调用Winrar进行压缩,里面拥有解压代码,如果需要可以自己调用
C#调用winrar压缩文件实例---C#.Net实例代码
在C#中调用Winrar实现文件压缩与解压源代码。
主要介绍了c#调用winrar解压缩文件的方法,大家参考使用吧
用C#程序实现将多个文件压缩成rar文件 解压缩rar文件
主要介绍了Windows系统中C#调用WinRAR来压缩和解压缩文件的方法,个人感觉在Windows中WinRAR相对7-zip更加稳定一些,需要的朋友可以参考下
很好用的文件资源,可以实现调用WinRar进行文件加密压缩和解压缩,但系统需要有WinRar哦!
C#调用本机的winrar对文件自动压缩
本文实例讲述了C#调用WinRar执行rar、zip压缩的方法。分享给大家供大家参考。具体如下: 判断系统是否安装了winrar /// /// 验证WinRar是否安装。 /// /// <returns>true:已安装,false:未安装 private static ...
主要介绍了C#使用WinRar命令进行压缩和解压缩操作的实现方法,涉及C#基于Process类操作WinRar命令的相关实现技巧,代码简洁实用,需要的朋友可以参考下
本文实例讲述了C#调用Rar文件及获取Rar返回值的方法。分享给大家供大家参考。具体如下: 该程序适用于C#调用。 所需的Rar.exe可从WinRar官网下载控制台版。 按钮OK点击事件: System.Diagnostics.Process process;...