`
hzy3774
  • 浏览: 992996 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C#调用WinRar来解压文件

 
阅读更多
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压缩和解压文件

    在.NET环境中,C#语言可以调用外部...以上就是C#调用WinRAR进行文件压缩和解压缩的基本流程和相关知识点。在实际应用中,你可能需要根据具体需求进行调整,比如增加日志记录、错误处理机制,或者提供更复杂的选项支持。

    C#调用Winrar 压缩包

    本篇文章将深入探讨如何使用C#调用WinRAR进行文件的压缩与解压缩操作。 首先,WinRAR是一款强大的压缩工具,提供了命令行版本(Rar.exe)供开发者在程序中调用。为了在C#中使用WinRAR,你需要先安装WinRAR软件,并...

    调用WinRAR加密压缩多个文件

    总的来说,调用WinRAR加密压缩多个文件涉及的知识点包括:文件压缩、WinRAR软件的使用、加密技术(AES-256)、WinRAR命令行用法、WinRAR API的编程接口应用,以及多文件处理策略。通过掌握这些知识,我们可以高效地...

    在C#中调用Winrar实现文件压缩与解压源代码

    总的来说,在C#中调用WinRAR实现文件压缩与解压涉及到对WinRAR API的深入理解,以及熟练运用C#的DllImport特性进行平台调用。通过合理封装和错误处理,可以构建出稳定可靠的文件压缩和解压功能。

    C#调用Winrar实现压缩与解压缩

    总的来说,通过C#调用WinRAR API,我们可以轻松地在应用程序中集成压缩和解压缩功能,从而满足各种场景的需求。不过,这种方式有一定的局限性,例如依赖外部软件、不能跨平台等。如果你希望避免这些限制,可以考虑...

    C#调用WINRAR解压缩

    在.NET Framework 2环境下,C#...总的来说,C#调用WinRAR解压缩是通过调用外部命令行工具实现的,这涉及到进程控制、命令行参数解析等多个知识点。了解这些概念和技巧,将有助于你更好地在.NET环境中处理RAR文件。

    C#调用WINRAR压缩文件

    总的来说,C#调用WinRAR压缩文件主要涉及以下知识点: 1. 使用`System.Diagnostics.Process`类启动外部程序。 2. 设置`ProcessStartInfo`对象以传递命令行参数。 3. 理解WinRAR的命令行语法和参数。 4. 错误处理和...

    C#调用WINRAR实现压缩与解压

    ### C#调用WINRAR进行解压 同样地,解压操作也可以通过调用WINRAR的命令行接口实现: ```csharp public string unRAR(string unRarPatch, string rarPatch, string rarName) { String the_rar; RegistryKey the_...

    c# 利用WinRAR压缩解压缩文件

    首先,确保你已经在系统中安装了WinRAR,并将其添加到系统的环境变量PATH中,这样在运行C#程序时可以直接调用WinRAR的命令行版本。 1. **文件压缩** 要压缩文件,我们需要使用`Rar.exe`的`a`参数,表示添加文件到...

    C#调用winrar压缩文件实例---C#.Net实例代码

    总的来说,C#通过调用WinRAR进行文件压缩是一种实用的方法,尤其适用于快速实现原型或已有WinRAR的场景。然而,为了提升应用程序的可移植性和灵活性,开发者通常会选择使用专门的压缩库,这些库提供了更丰富的API和...

    c#调用winrar解压缩文件代码分享

    C#代码调用WinRAR进行文件解压缩是在Windows平台下使用C#编程语言实现压缩和解压缩文件的常用技术。这种方法依赖于Windows操作系统的注册表信息以及外部程序WinRAR。以下是详细的知识点: 1. 使用外部工具进行操作...

    Windows系统中C#调用WinRAR来压缩和解压缩文件的方法

    以下是一个简单的示例,展示了如何通过C#调用WinRAR的命令行工具`Rar.exe`来完成这两个任务: **1. 压缩文件** 压缩文件的过程是通过创建一个新的ZipOutputStream对象,然后将需要压缩的文件逐个添加到这个流中。...

    C#调用本机的winrar对文件自动压缩

    总之,通过C#调用WinRAR进行文件压缩,可以方便地集成到你的应用程序中,实现文件的自动化管理。掌握这个技巧对于提升工作效率和简化复杂任务很有帮助。同时,理解并灵活运用`Process`类和其他相关API,也是提升C#...

    C# 利用WinRAR (加密)压缩及解压缩 相关文件夹及文件

    当你需要在C#应用程序中实现文件或文件夹的压缩和解压缩功能时,WinRAR库可以成为一个强大的工具,它提供了API供开发者调用。本文将详细介绍如何在C#中利用WinRAR进行加密压缩和解压缩操作。 首先,为了在C#中使用...

    C#实现winform压缩解压文件夹

    在C#编程环境中,开发一个WinForm应用来实现文件夹的压缩与解压缩功能,可以极大地提高工作效率,尤其是在处理大量数据或文件时。WinForm是.NET Framework提供的一个用于创建桌面应用程序的用户界面框架,而C#语言的...

    C#RAR文件解压源码

    在本案例中,作者选择通过调用WinRAR来实现RAR文件的解压功能。这种方法虽然不如直接使用库那样简洁高效,但在某些情况下可能是唯一的选择,尤其是当目标平台或环境不允许安装额外库时。 ### 二、函数定义与参数...

    C#调用WinRar执行rar、zip压缩的方法

    本文实例讲述了C#调用WinRar执行rar、zip压缩的方法。分享给大家供大家参考。具体如下: 判断系统是否安装了winrar /// /// 验证WinRar是否安装。 /// /// <returns>true:已安装,false:未安装 private static ...

Global site tag (gtag.js) - Google Analytics