本次示例主要實現:
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<文件> 從文件讀取壓縮文件注釋 
-- 停止開關的掃描
新聞熱點
疑難解答