C# 利用WinRAR (加密)壓縮及解壓縮 相關文件夾及文件 (轉)

本次示例主要實現:
1.壓縮文件夾及其下文件
2.壓縮文件夾下文件
3.壓縮文件夾及其下文件爲rar 還是 zip
4.解壓縮
5.加密壓縮及解加密壓縮
-----------
示例代碼如下:
protected void Button1_Click(object sender, EventArgs e)
    {
        string strtxtPath = "C://freezip//free.txt";
        string strzipPath = "C://freezip//free.zip";
        System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
        Process1.StartInfo.FileName = "Winrar.exe";
        Process1.StartInfo.CreateNoWindow = true;

        //// 1
        ////壓縮c:/freezip/free.txt(即文件夾及其下文件freezip/free.txt)
        ////到c:/freezip/free.rar
        //strzipPath = "C://freezip//free";//默認壓縮方式爲 .rar
        //Process1.StartInfo.Arguments = " a -r " + strzipPath + " " + strtxtPath;

        //// 2
        ////壓縮c:/freezip/free.txt(即文件夾及其下文件freezip/free.txt)
        ////到c:/freezip/free.rar
        //strzipPath = "C://freezip//free";//設置壓縮方式爲 .zip
        //Process1.StartInfo.Arguments = " a -afzip " + strzipPath + " " + strtxtPath;

        //// 3
        ////壓縮c:/freezip/free.txt(即文件夾及其下文件freezip/free.txt)
        ////到c:/freezip/free.zip  直接設定爲free.zip
        //Process1.StartInfo.Arguments = " a -r "+strzipPath+" " + strtxtPath ;

        //// 4
        ////搬遷壓縮c:/freezip/free.txt(即文件夾及其下文件freezip/free.txt)
        ////到c:/freezip/free.rar 壓縮後 原文件將不存在
        //Process1.StartInfo.Arguments = " m " + strzipPath + " " + strtxtPath;

        //// 5
        ////壓縮c:/freezip/下的free.txt(即文件free.txt)
        ////到c:/freezip/free.zip  直接設定爲free.zip 只有文件 而沒有文件夾
        //Process1.StartInfo.Arguments = " a -ep " + strzipPath + " " + strtxtPath;

        //// 6
        ////解壓縮c:/freezip/free.rar
        ////到 c:/freezip/
        //strtxtPath = "c://freezip//";
        //Process1.StartInfo.Arguments = " x " + strzipPath + " " + strtxtPath;

        //// 7
        ////加密壓縮c:/freezip/free.txt(即文件夾及其下文件freezip/free.txt)
        ////到c:/freezip/free.zip  密碼爲123456 注意參數間不要空格
        //Process1.StartInfo.Arguments = " a -p123456 " + strzipPath + " " + strtxtPath;

        //// 8
        ////解壓縮加密的c:/freezip/free.rar
        ////到 c:/freezip/   密碼爲123456 注意參數間不要空格
        //strtxtPath = "c://freezip//";
        //Process1.StartInfo.Arguments = " x -p123456 " + strzipPath + " " + strtxtPath;

        Process1.Start();   
        if (Process1.HasExited)
        {
            Response.Write("完成");
        }
    }


# re: C# (加密)壓縮及解壓縮 相關文件夾及文件

更多WinRAR命令(引自WinRAR幫助文檔)
a 添加文件到壓縮文件
c 添加壓縮文件註釋
d 從壓縮文件刪除文件
e 從壓縮文件解壓壓縮,忽略路徑
f 刷新壓縮文件中的文件
i 在壓縮文件中查找字符串
k 鎖定壓縮文件
m 移動文件和文件夾到壓縮文件
r 修復受損的壓縮文件
rc 重建丟失的卷
rn 重命名壓縮文件
rr[N] 添加數據恢復記錄
rv[N] 創建恢復卷
s[name] 轉換壓縮文件成爲自解壓文件類型
s- 刪除自解壓模塊
t 測試壓縮文件
u 從壓縮文件中更新文件
x 以完整路徑名稱從壓縮文件解壓壓縮  回覆  更多評論   

# re: C# (加密)壓縮及解壓縮 相關文件夾及文件

更多WinRAR字母開頭(引自WinRAR幫助文檔)
-ac 在壓縮或解壓後清除存檔屬性
-ad 附加壓縮文件名到目標路徑中
-af<類型> 指定壓縮文件格式
-ag[格式] 以當前日期生成壓縮文件名
-ao 添加有存檔屬性設置的
-ap 設置內部壓縮文件路徑
-as 同步化壓縮文件內容
-av 應用用戶身份校驗信息
-av- 禁用添加用戶身份校驗信息
-cfg- 忽略默認配置和環境變量
-cl 將文件名轉換成爲小寫
-cu 將文件名轉換成爲大寫
-df 壓縮後刪除壓縮文件
-dh 打開共享的文件
-ds 不排序壓縮的文件
-ed 不添加空文件夾
-en 不添加“壓縮文件結束”塊
-ep 從名稱中排除路徑
-ep1 從名稱中排除主文件夾
-ep2 擴大成完整路徑
-ep3 擴展包含盤符的完整路徑
-e[+]<屬性> 設置文件排除和包含屬性
-f 刷新文件
-hp[密碼] 加密文件數據和頭
-ibck 在後臺運行 WinRAR
-ieml 使用E-mail發送壓縮文件
-iicon<名稱> 指定自解壓圖標
-iimg<名稱> 指定自解壓圖片
-ilog[名稱] 記錄錯誤到文件中
-inul 關閉錯誤信息
-ioff 關閉 PC 電源
-k 鎖定壓縮文件
-kb 保留壞掉的解壓文件
-m<n> 設置壓縮方式
-mc<參數> 設置高級壓縮參數
-md<n> 選擇字典大小
-ms 指定文件存儲
-n<文件> 僅包含指定的文件
-n@<列表文件> 使用指定的列表文件包含文件
-os 保存 NTFS 數據流
-oc 設置 NTFS “壓縮”屬性
-ow 處理文件用戶身份校驗信息
-o+ 覆蓋已存在的文件
-o- 不要覆蓋已存在的文件
-p[密碼] 設置密碼
-r 返回子文件夾
-r0 只返回與通配符匹配的子文件夾
-ri 設置優先級和休眠時間
-rr[N] 添加數據恢復記錄
-rv[N] 創建恢復卷
-s 創建固實壓縮文件
-s<N> 以文件數量創建固實組
-se 以文件擴展名創建固實組
-sfx[名稱] 創建自解壓文件
-sv 創建互不依賴的固實壓縮文件
-sv- 創建互相依賴的固實壓縮文件
-s- 禁用固實算法
-t 壓縮後測試文件
-ta<日期> 只處理指定日期之後修改的文件
-tb<日期> 只處理指定日期之前修改的文件
-tk 保持原有壓縮文件時間
-tl 以最新的文件設置壓縮文件時間
-tn<時間> 處理較新於指定時間的文件
-to<時間> 處理較舊於指定時間的文件
-ts<m,c,a> 保存或恢復文件時間(修改,創建,訪問)
-u 更新文件
-v<n>[k|b|f|m|M|g|G] 創建分卷壓縮
-vd 創建分卷壓縮前清除磁盤內容
-ver 文件版本控制
-vn 使用舊風格的卷命名法則
-vp 每次分卷壓縮前暫停
-x<文件> 排除指定的文件
-x@<文件列表> 使用指定的列表文件來排除指定的文件
-y 假設全部的詢問迴應皆爲“是”
-z<文件> 從文件讀取壓縮文件註釋
-- 停止開關的掃描 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章