个人网站网站名称,建投五公司网站,如何查询企业电话号码,wordpress 一键安装包本文的原理是借助Windows平台安装的WinRAR(WinZip)实现C#程序的调用#xff08;注#xff1a;WinRAR压缩解压WinZip同样适用#xff09;。 先来看WinRAR#xff08;WinZip#xff09;自身的支持调用命令#xff1a;
压缩命令#xff1a;a {0} {1} -r 【{0}#xff1a;…本文的原理是借助Windows平台安装的WinRAR(WinZip)实现C#程序的调用注WinRAR压缩解压WinZip同样适用。 先来看WinRARWinZip自身的支持调用命令
压缩命令a {0} {1} -r 【{0}压缩后文件名|{1}待压缩的文件物理路径】
ex:a 你妹.rar f:\\MM -r 含义为将f盘下MM的文件夹压缩为你妹.rar文件
解压命令x {0} {1} -y 【{0}待解压文件名称|{1}待解压文件物理路径】
ex:x 幺妹.rar f:\\幺妹 -y待压缩文件物理路径f:\\幺妹\\幺妹.rar 参数说明 参数 含义 a 添加文件到压缩包 x 以完整路径从压缩包解开压缩 WinZipWinRAR调用通用类 using System;using System.Collections.Generic;using System.Text;//--------------usingusing System.Diagnostics;using Microsoft.Win32;using System.IO;/// summary/// Name:Stone/// DateTime: 2011/12/31 16:39:26/// Description:WinRAR压缩/// /summarypublic class WinRARCSharp{ // WinRAR安装注册表key private const string WinRAR_KEY WinRAR.ZIP\shell\open\command; /// summary /// 利用 WinRAR 进行压缩 /// /summary /// param namepath将要被压缩的文件夹绝对路径/param /// param namerarPath压缩后的 .rar 的存放目录绝对路径/param /// param namerarName压缩文件的名称包括后缀/param /// returnstrue 或 false。压缩成功返回 true反之false。/returns public bool RAR(string path, string rarPath, string rarName) { bool flag false; string rarexe; //WinRAR.exe 的完整路径 RegistryKey regkey; //注册表键 Object regvalue; //键值 string cmd; //WinRAR 命令参数 ProcessStartInfo startinfo; Process process; try { regkey Registry.ClassesRoot.OpenSubKey(WinRAR_KEY); regvalue regkey.GetValue(); // 键值为 d:\Program Files\WinRAR\WinRAR.exe %1 rarexe regvalue.ToString(); regkey.Close(); rarexe rarexe.Substring(1, rarexe.Length - 7); // d:\Program Files\WinRAR\WinRAR.exe Directory.CreateDirectory(path); //压缩命令相当于在要压缩的文件夹(path)上点右键-WinRAR-添加到压缩文件-输入压缩文件名(rarName) cmd string.Format(a {0} {1} -r, rarName, path); startinfo new ProcessStartInfo(); startinfo.FileName rarexe; startinfo.Arguments cmd; //设置命令参数 startinfo.WindowStyle ProcessWindowStyle.Hidden; //隐藏 WinRAR 窗口 startinfo.WorkingDirectory rarPath; process new Process(); process.StartInfo startinfo; process.Start(); process.WaitForExit(); //无限期等待进程 winrar.exe 退出 if (process.HasExited) { flag true; } process.Close(); } catch (Exception e) { throw e; } return flag; } /// summary /// 利用 WinRAR 进行解压缩 /// /summary /// param namepath文件解压路径绝对/param /// param namerarPath将要解压缩的 .rar 文件的存放目录绝对路径/param /// param namerarName将要解压缩的 .rar 文件名包括后缀/param /// returnstrue 或 false。解压缩成功返回 true反之false。/returns public bool UnRAR(string path, string rarPath, string rarName) { bool flag false; string rarexe; RegistryKey regkey; Object regvalue; string cmd; ProcessStartInfo startinfo; Process process; try { regkey Registry.ClassesRoot.OpenSubKey(WinRAR_KEY); regvalue regkey.GetValue(); rarexe regvalue.ToString(); regkey.Close(); rarexe rarexe.Substring(1, rarexe.Length - 7); Directory.CreateDirectory(path); //解压缩命令相当于在要压缩文件(rarName)上点右键-WinRAR-解压到当前文件夹 cmd string.Format(x {0} {1} -y, rarName, path); startinfo new ProcessStartInfo(); startinfo.FileName rarexe; startinfo.Arguments cmd; startinfo.WindowStyle ProcessWindowStyle.Hidden; startinfo.WorkingDirectory rarPath; process new Process(); process.StartInfo startinfo; process.Start(); process.WaitForExit(); if (process.HasExited) { flag true; } process.Close(); } catch (Exception e) { throw e; } return flag; }} 调用方法 WinRARCSharp win new WinRARCSharp();win.RAR(F:\\aaa\\, f:\\, a.rar) // 压缩将“f:\\aaa\\”目录文件压缩到“f:\\a.rar”win.UnRAR(f:\\呦M.zip, f:\\MM, GG); // 解压将“f:\\呦M.zip”解压到“f\\MM\\GG”目录下 7z压缩通用类 using System;using System.Collections.Generic;using System.Text;using Microsoft.Win32;using System.Diagnostics;using System.IO;/// summary/// Name:Stone/// DateTime: 2012/1/4 16:26:08/// Description:7Z解压管理类/// /summarypublic class _7zRAR{ // 7z.exe 安装地址 private const string _7zEXE D:\Program Files (x86)\7-Zip\7z.exe; /// summary /// 利用 7zExE 进行压缩 /// /summary /// param name_7zPath将要被压缩的文件夹物理路径/param /// param namefilePath压缩后的的存放目录物理路径/param /// returnstrue 或 false。压缩成功返回 true反之false。/returns public static bool Un7zRAR(string _7zPath, string filePath) { bool flag false; string cmd; ProcessStartInfo startinfo; Process process; try { cmd String.Format(x {0} -o{1} -y, _7zPath, filePath); startinfo new ProcessStartInfo(); startinfo.FileName _7zEXE; startinfo.Arguments cmd; startinfo.WindowStyle ProcessWindowStyle.Hidden; process new Process(); process.StartInfo startinfo; process.Start(); process.WaitForExit(); if (process.HasExited) { flag true; } process.Close(); } catch (Exception e) { throw e; } return flag; }} 《完》转载请写明出处http://www.cnblogs.com/stone_w/archive/2012/01/04/2312294.html