C#中使用WinRAR實現加密壓縮及解壓縮檔案

來源:互聯網
上載者:User

   本次樣本主要實現:

  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<檔案> 從檔案讀取壓縮檔注釋

  -- 停止開關的掃描

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.