zoukankan      html  css  js  c++  java
  • 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");

  • 相关阅读:
    软件测试的定义及分类总结
    Selenium下拉菜单(Select)的操作Selenium快速入门(五)
    Selenium框架切换Selenium快速入门(七)
    元素(WebElement)Selenium快速入门(三)
    Selenium窗口切换Selenium快速入门(六)
    Selenium简介与环境搭配Selenium快速入门(一)
    测试用例的几种常见设计方法
    driver.get()和driver.navigate().to()到底有什么不同?Selenium快速入门(四)
    元素定位Selenium快速入门(二)
    关于VS2010与SQL Server2008 R2的安装问题
  • 原文地址:https://www.cnblogs.com/bestsaler/p/1835532.html
Copyright © 2011-2022 走看看