.net中RAR压缩文件的方法

来源:互联网 发布:成都网络外包公司 编辑:程序博客网 时间:2024/04/30 07:09
/// <summary>        /// 压缩方法        /// </summary>        /// <param name="patch">预压缩的路径</param>        /// <param name="rarPatch">压缩后的路径</param>        /// <param name="rarName">压缩文件名</param>        public static void RARsave(string patch, string rarPatch, 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);                Directory.CreateDirectory(patch);                //命令参数                //the_Info = " a " + rarName + " " + @"C:Test?70821.txt"; //文件压缩                the_Info = " a " + rarName + " " + patch + " -r"; ;                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;            }        }        /// <summary>        ///解 压缩方法        /// </summary>        /// <param name="patch">预解压缩的路径</param>        /// <param name="rarPatch">解压缩后的路径</param>       public static int unRAR(string unRarPatch, string rarPatch)      {        try        {            System.Diagnostics.Process Process1 = new System.Diagnostics.Process();            Process1.StartInfo.FileName = "Winrar.exe";            Process1.StartInfo.CreateNoWindow = true;            Process1.StartInfo.Arguments = " e " + unRarPatch + " " + rarPatch + " -y";            Process1.Start();            Process1.WaitForExit();            if (Process1.HasExited)            {                return Process1.ExitCode;            }            return -1000;        }        catch (Exception ex)        {            return -1001;        }        }

0 0
原创粉丝点击