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文件来实现文件的压缩和解压缩操作。这里的关键DLL文件是`ICSharpCode.SharpZipLib.DLL`,这是一个开源的压缩库,提供了对多种压缩...
在IT行业中,有时候我们需要在应用程序中集成压缩和解压缩功能,C#作为一种广泛使用的编程语言,可以调用外部工具如WinRAR来实现这一目标。本文将深入探讨如何在C#中利用WinRAR API来完成文件的压缩和解压缩操作。 ...
当你需要在C#项目中实现文件的压缩和解压缩功能时,WinRAR SDK是一个实用的选择。WinRAR是一个流行的压缩工具,它提供了命令行接口(CLI)供开发者进行自动化操作。本示例将详细介绍如何利用C#与WinRAR进行文件的...
在.NET环境中,C#语言可以调用外部程序或者利用API来实现对文件的压缩和解压缩功能,其中就包括调用WinRAR这个流行的压缩软件。WinRAR提供了命令行模式(RAR.exe),允许开发者通过编程方式执行压缩和解压缩操作。在...
总结,通过C#调用WinRAR,我们可以方便地实现RAR文件的压缩和解压缩功能。这不仅扩展了C#的应用范围,还使得在项目中集成文件压缩解压缩功能成为可能。然而,在实际应用中,考虑到版权和兼容性,建议评估并选择合适...
对于C#开发者来说,理解如何利用.NET框架中的库来实现ZIP压缩和解压缩功能是十分重要的。本篇文章将详细探讨基于C#实现的ZIP压缩与解压缩包装类,并提供相关的源码和实例程序。 ZIP是一种广泛使用的文件格式,它...
以下我们将详细探讨如何使用C#实现WinForm的文件夹压缩和解压缩功能。 首先,我们需要了解两个关键的库:System.IO.Compression和System.IO.Compression.ZipFile。这两个库分别提供了对压缩和解压缩的基本支持。...
下面将详细介绍如何在C#中使用WinRAR进行文件的压缩和解压缩。 首先,确保你已经在系统中安装了WinRAR,并将其添加到系统的环境变量PATH中,这样在运行C#程序时可以直接调用WinRAR的命令行版本。 1. **文件压缩** ...
在.NET Framework 2环境下,C#开发者经常需要与外部应用程序交互,例如调用WinRAR进行文件的压缩和解压缩操作。这是因为.NET Framework本身并不内置直接支持RAR格式的库。本篇将详细介绍如何在C#中利用WinRAR命令行...
通过以上分析,我们了解了如何使用C#和WinRAR进行ZIP/RAR文件的压缩和解压缩。这包括了设置不同的压缩选项、修改已存在的压缩文件、解压缩到指定目录以及设置密码等高级功能。掌握了这些知识点后,开发者可以根据...
在本例中,这个dll文件提供了压缩和解压缩的API,开发者只需在自己的项目中引用这个dll,然后调用其中的函数,就可以实现文件和文件夹的压缩与解压。 标签中提到了几个关键点: 1. **c#压缩**:这是指使用C#语言...
WinRAR是一款功能强大的压缩和解压缩工具,它支持多种压缩格式,如RAR和ZIP,并且提供了高级的安全特性,如文件加密。本文将详细介绍如何使用WinRAR进行文件的加密压缩以及相关的编程实现。 首先,让我们理解什么是...
本文将深入探讨C#中的压缩与解压缩源码,以及如何利用这些源码实现数据的压缩和解压缩。 标题中的“压缩与解压缩源码(c#)”指的是使用C#语言编写的用于执行数据压缩和解压缩操作的源代码。C#提供了多种库和API,如...
- 大文件或大量文件的压缩和解压缩可能消耗大量资源,因此可以考虑异步操作、分块处理或利用多线程来提高效率。 8. **测试和调试:** - 完成代码后,务必进行充分的测试,包括单元测试和集成测试,确保在不同情况...
WinRAR安装目录下有一个名为"Rar.dll"的动态链接库,它是WinRAR命令行版本的核心组件,包含了许多用于压缩和解压缩的函数。在C#项目中,可以通过“DllImport”特性将其导入,例如: ```csharp [DllImport("Rar.dll...
在Windows系统中,C#语言可以通过调用外部程序或者API来与WinRAR进行交互,实现文件的压缩和解压缩功能。下面将详细讲解如何利用C#实现这一目标,特别是使用WinRAR而不是7-zip的原因以及具体代码实现。 首先,...
C#代码调用WinRAR进行文件解压缩是在Windows平台下使用C#编程语言实现压缩和解压缩文件的常用技术。这种方法依赖于Windows操作系统的注册表信息以及外部程序WinRAR。以下是详细的知识点: 1. 使用外部工具进行操作...
在.NET开发环境中,C#程序员有时需要处理压缩和解压缩文件的任务。对于这类需求,ICSharpCode.SharpZipLib是一个非常实用的开源库,它提供了对多种压缩格式的支持,包括ZIP和GZip等。本文将详细讲解如何在C#中使用...
LZO(Lempel-Ziv-Oberhumer)是一种快速的无损数据压缩算法,而minilzo是LZO的一个精简版本,专门用于实现LZO压缩和解压缩功能。本文将深入探讨LZO算法以及minilzo库的使用。 LZO算法由Vladimir Lempel、Jacob Ziv...