本次示例主要實現:
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
-vd 創建分卷壓縮前清除磁盤內容
-ver 文件版本控制
-vn 使用舊風格的卷命名法則
-vp 每次分卷壓縮前暫停
-x<文件> 排除指定的文件
-x@<文件列表> 使用指定的列表文件來排除指定的文件
-y 假設全部的詢問回應皆為“是”
-z<文件> 從文件讀取壓縮文件注釋
-- 停止開關的掃描