萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C#中使用WinRAR實現加密壓縮及解壓縮文件

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 設置壓縮方式

  -mc<參數> 設置高級壓縮參數

  -md 選擇字典大小

  -ms 指定文件存儲

  -n<文件> 僅包含指定的文件

  -n@<列表文件> 使用指定的列表文件包含文件

  -os 保存 NTFS 數據流

  -oc 設置 NTFS “壓縮”屬性

  -ow 處理文件用戶身份校驗信息

  -o+ 覆蓋已存在的文件

  -o- 不要覆蓋已存在的文件

  -p[密碼] 設置密碼

  -r 返回子文件夾

  -r0 只返回與通配符匹配的子文件夾

  -ri 設置優先級和休眠時間

  -rr[N] 添加數據恢復記錄

  -rv[N] 創建恢復卷

  -s 創建固實壓縮文件

  -s 以文件數量創建固實組

  -se 以文件擴展名創建固實組

  -sfx[名稱] 創建自解壓文件

  -sv 創建互不依賴的固實壓縮文件

  -sv- 創建互相依賴的固實壓縮文件

  -s- 禁用固實算法

  -t 壓縮後測試文件

  -ta<日期> 只處理指定日期之後修改的文件

  -tb<日期> 只處理指定日期之前修改的文件

  -tk 保持原有壓縮文件時間

  -tl 以最新的文件設置壓縮文件時間

  -tn<時間> 處理較新於指定時間的文件

  -to<時間> 處理較舊於指定時間的文件

  -ts

  -u 更新文件

  -v[k|b|f|m|M|g|G] 創建分卷壓縮

  -vd 創建分卷壓縮前清除磁盤內容

  -ver 文件版本控制

  -vn 使用舊風格的卷命名法則

  -vp 每次分卷壓縮前暫停

  -x<文件> 排除指定的文件

  -x@<文件列表> 使用指定的列表文件來排除指定的文件

  -y 假設全部的詢問回應皆為“是”

  -z<文件> 從文件讀取壓縮文件注釋

  -- 停止開關的掃描

copyright © 萬盛學電腦網 all rights reserved