狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#利用WinRAR實現壓縮和解壓縮

admin
2018年1月31日 12:9 本文熱度 7894
using System;
using Microsoft.Win32;
using System.Diagnostics;
using System.IO;
namespace MSCL
{
    /// <summary>
    /// 壓縮解壓類
    /// </summary>
    public class ZipHelper
    {
        /// <summary>
        /// 利用 WinRAR 進行壓縮
        /// </summary>
        /// <param name="path">將要被壓縮的文件夾(絕對路徑)</param>
        /// <param name="rarPath">壓縮后的 .rar 的存放目錄(絕對路徑)</param>
        /// <param name="rarName">壓縮文件的名稱(包括后綴)</param>
        /// <returns>true 或 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(@"Applications\WinRAR.exe\shell\open\command");
                regvalue = regkey.GetValue("WinRAR");  // 鍵值為 "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 name="path">文件解壓路徑(絕對)</param>
        /// <param name="rarPath">將要解壓縮的 .rar 文件的存放目錄(絕對路徑)</param>
        /// <param name="rarName">將要解壓縮的 .rar 文件名(包括后綴)</param>
        /// <returns>true 或 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(@"Applications\WinRAR.exe\shell\open\command");
                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;
        }
    }
}

該文章在 2018/1/31 12:10:00 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved