`

C# rar 压缩和解压缩调用

阅读更多

       public void RARsave(string rarPatch, string rarFiles,string  patch,string rarName)
        {
            String the_rar;
            RegistryKey the_Reg;
            Object the_Obj;
            String the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\\WinRAR.exe\\Shell\\Open\\Command");
                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(patch))
                Directory.CreateDirectory(patch);
                //命令参数

                //the_Info = " a  c:\\test.rar a.txt -r"; //文件压缩

                the_Info = string.Format(" a -df {0}\\{1}  {2}  -r", patch, rarName, rarFiles);// " a " + rarName + " " + patch;
                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 unRAR(string rarPath, string rarName, string unRarPath)
        {
            String the_rar;
            RegistryKey the_Reg;
            Object the_Obj;
            String the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\\WinRAR.exe\\Shell\\Open\\Command");
                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(unRarPath + "\\" + rarName.Substring(0, rarName.LastIndexOf(".")-1)))
                    Directory.CreateDirectory(unRarPath + "\\" + rarName.Substring(0, rarName.LastIndexOf(".")-1));
                the_Info = string.Format("x {0} {1}\\{2} -y", rarName, unRarPath, rarName.Substring(0, rarName.LastIndexOf(".")-1));
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_StartInfo.WorkingDirectory = rarPath;//获取压缩包路径

                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return "";//Server.MapPath(unRarPatch);
        }
        public string unRAR(string rarPath, string rarName, string unRarPath, string unRarPathName)
        {
            String the_rar;
            RegistryKey the_Reg;
            Object the_Obj;
            String the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\\WinRAR.exe\\Shell\\Open\\Command");
                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(unRarPath + "\\" + unRarPathName))
                //    Directory.CreateDirectory(unRarPath + "\\" + unRarPathName);
                //the_Info = string.Format("x {0} {1}\\{2} -y", rarName, unRarPath, unRarPathName);

                if (!Directory.Exists(unRarPath ))
                    Directory.CreateDirectory(unRarPath);
                the_Info = string.Format("x {0} {1} -y", rarName, unRarPath);
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_StartInfo.WorkingDirectory = rarPath;//获取压缩包路径

                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return "";//Server.MapPath(unRarPatch);
        }

RARsave("c:\\emrbs", "1.txt 2.txt", "c:\\test", "test.rar");

unRAR("d:\\","f.rar","d:\\ftest");

分享到:
评论

相关推荐

    c# Sharp 压缩与解压缩 _Dll

    标题中提到的"C# Sharp 压缩与解压缩_Dll"是指使用C# Sharp编程语言,通过调用DLL文件来实现文件的压缩和解压缩操作。这里的关键DLL文件是`ICSharpCode.SharpZipLib.DLL`,这是一个开源的压缩库,提供了对多种压缩...

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

    在IT行业中,有时候我们需要在应用程序中集成压缩和解压缩功能,C#作为一种广泛使用的编程语言,可以调用外部工具如WinRAR来实现这一目标。本文将深入探讨如何在C#中利用WinRAR API来完成文件的压缩和解压缩操作。 ...

    C# 利用win.rar压缩解压缩

    当你需要在C#项目中实现文件的压缩和解压缩功能时,WinRAR SDK是一个实用的选择。WinRAR是一个流行的压缩工具,它提供了命令行接口(CLI)供开发者进行自动化操作。本示例将详细介绍如何利用C#与WinRAR进行文件的...

    C# 调用WinRAR压缩和解压文件

    在.NET环境中,C#语言可以调用外部程序或者利用API来实现对文件的压缩和解压缩功能,其中就包括调用WinRAR这个流行的压缩软件。WinRAR提供了命令行模式(RAR.exe),允许开发者通过编程方式执行压缩和解压缩操作。在...

    C#调用Winrar 压缩包

    总结,通过C#调用WinRAR,我们可以方便地实现RAR文件的压缩和解压缩功能。这不仅扩展了C#的应用范围,还使得在项目中集成文件压缩解压缩功能成为可能。然而,在实际应用中,考虑到版权和兼容性,建议评估并选择合适...

    一个基于C#实现的数据信息ZIP压缩与解压包装类源码及例子程序

    对于C#开发者来说,理解如何利用.NET框架中的库来实现ZIP压缩和解压缩功能是十分重要的。本篇文章将详细探讨基于C#实现的ZIP压缩与解压缩包装类,并提供相关的源码和实例程序。 ZIP是一种广泛使用的文件格式,它...

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

    以下我们将详细探讨如何使用C#实现WinForm的文件夹压缩和解压缩功能。 首先,我们需要了解两个关键的库:System.IO.Compression和System.IO.Compression.ZipFile。这两个库分别提供了对压缩和解压缩的基本支持。...

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

    下面将详细介绍如何在C#中使用WinRAR进行文件的压缩和解压缩。 首先,确保你已经在系统中安装了WinRAR,并将其添加到系统的环境变量PATH中,这样在运行C#程序时可以直接调用WinRAR的命令行版本。 1. **文件压缩** ...

    C#调用WINRAR解压缩

    在.NET Framework 2环境下,C#开发者经常需要与外部应用程序交互,例如调用WinRAR进行文件的压缩和解压缩操作。这是因为.NET Framework本身并不内置直接支持RAR格式的库。本篇将详细介绍如何在C#中利用WinRAR命令行...

    zip\rar C# 压缩解压

    通过以上分析,我们了解了如何使用C#和WinRAR进行ZIP/RAR文件的压缩和解压缩。这包括了设置不同的压缩选项、修改已存在的压缩文件、解压缩到指定目录以及设置密码等高级功能。掌握了这些知识点后,开发者可以根据...

    c#压缩解压(可以压缩解压文件夹附有源妈)

    在本例中,这个dll文件提供了压缩和解压缩的API,开发者只需在自己的项目中引用这个dll,然后调用其中的函数,就可以实现文件和文件夹的压缩与解压。 标签中提到了几个关键点: 1. **c#压缩**:这是指使用C#语言...

    调用WinRAR加密压缩多个文件

    WinRAR是一款功能强大的压缩和解压缩工具,它支持多种压缩格式,如RAR和ZIP,并且提供了高级的安全特性,如文件加密。本文将详细介绍如何使用WinRAR进行文件的加密压缩以及相关的编程实现。 首先,让我们理解什么是...

    压缩与解压缩源码(c#)

    本文将深入探讨C#中的压缩与解压缩源码,以及如何利用这些源码实现数据的压缩和解压缩。 标题中的“压缩与解压缩源码(c#)”指的是使用C#语言编写的用于执行数据压缩和解压缩操作的源代码。C#提供了多种库和API,如...

    C#文件及文件夹自动打包程序_压缩_解压缩

    - 大文件或大量文件的压缩和解压缩可能消耗大量资源,因此可以考虑异步操作、分块处理或利用多线程来提高效率。 8. **测试和调试:** - 完成代码后,务必进行充分的测试,包括单元测试和集成测试,确保在不同情况...

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

    WinRAR安装目录下有一个名为"Rar.dll"的动态链接库,它是WinRAR命令行版本的核心组件,包含了许多用于压缩和解压缩的函数。在C#项目中,可以通过“DllImport”特性将其导入,例如: ```csharp [DllImport("Rar.dll...

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

    在Windows系统中,C#语言可以通过调用外部程序或者API来与WinRAR进行交互,实现文件的压缩和解压缩功能。下面将详细讲解如何利用C#实现这一目标,特别是使用WinRAR而不是7-zip的原因以及具体代码实现。 首先,...

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

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

    c# 解压缩类 ICSharpCode.SharpZipLib.dll

    在.NET开发环境中,C#程序员有时需要处理压缩和解压缩文件的任务。对于这类需求,ICSharpCode.SharpZipLib是一个非常实用的开源库,它提供了对多种压缩格式的支持,包括ZIP和GZip等。本文将详细讲解如何在C#中使用...

    lzo.rar_decompression_lzo_minilzo

    LZO(Lempel-Ziv-Oberhumer)是一种快速的无损数据压缩算法,而minilzo是LZO的一个精简版本,专门用于实现LZO压缩和解压缩功能。本文将深入探讨LZO算法以及minilzo库的使用。 LZO算法由Vladimir Lempel、Jacob Ziv...

Global site tag (gtag.js) - Google Analytics