本次樣本主要實現:
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<檔案> 從檔案讀取壓縮檔注釋
-- 停止開關的掃描