引用:
using system;
using system.collections.generic;
using system.text;
using microsoft.win32;
using system.io;
using system.diagnostics;
//獲取winrar.exe路徑
_winrarpath = key.getvalue(string.empty).tostring();
}static bool _existsetupwinrar;
///
/// 獲取是否安裝了winrar的標識
///
public static bool existsetupwinrar
}static string _winrarpath;
///
/// 獲取winrar.exe路徑
///
public static string winrarpath
}///
/// 壓縮到.rar
///
/// 輸入目錄
/// 輸出目錄
/// 輸出檔名
public static void compressrar(string intputpath, string outputpath, string outputfilename)
//判斷輸入目錄是否存在
if (!directory.exists(intputpath))
//命令引數
rarcmd = " a " + outputfilename + " " + intputpath + " -r";
//建立啟動程序的引數
processstartinfo = new processstartinfo();
//指定啟動檔名
processstartinfo.filename = winrarpath;
//指定啟動該檔案時的命令、引數
processstartinfo.arguments = rarcmd;
//指定啟動視窗模式:隱藏
processstartinfo.windowstyle = processwindowstyle.hidden;
//指定壓縮後到達路徑
processstartinfo.workingdirectory = outputpath;
//建立程序物件
process = new process();
//指定程序物件啟動資訊物件
process.startinfo = processstartinfo;
//啟動程序
process.start();
//指定程序自行退行為止
process.waitforexit();
}catch (exception ex)
}///
/// 解壓.rar
///
/// 輸入.rar
/// 輸出目錄
public static void uncompressrar(string inputrarfilename, string outputpath)
//如果壓縮到目標路徑不存在
if (!directory.exists(outputpath))
rarcmd = "x " + inputrarfilename + " " + outputpath + " -y";
processstartinfo = new processstartinfo();
processstartinfo.filename = winrarpath;
processstartinfo.arguments = rarcmd;
processstartinfo.windowstyle = processwindowstyle.hidden;
processstartinfo.workingdirectory = outputpath;
process = new process();
process.startinfo = processstartinfo;
process.start();
process.waitforexit();
}catch (exception ex)}}
}rar引數:
一、壓縮命令
1、將temp.txt壓縮為temp.rarrar a temp.rar temp.txt
2、將當前目錄下所有檔案壓縮到temp.rarrar a temp.rar *.*
3、將當前目錄下所有檔案及其所有子目錄壓縮到temp.rarrar a temp.rar *.* -r
4、將當前目錄下所有檔案及其所有子目錄壓縮到temp.rar,並加上密碼123rar a temp.rar *.* -r -p123
二、解壓命令
1、將temp.rar解壓到c:\temp目錄rar e temp.rar c:\temprar e *.rar c:\temp(支援批量操作)
2、將temp.rar解壓到c:\temp目錄,並且解壓後的目錄結構和temp.rar中的目錄結構一
壓縮目錄test及其子目錄的檔案內容
wzzip test.zip test -r -p
winrar a test.rar test -r
刪除壓縮包中的*.txt檔案
wzzip test.zip *.txt -d
winrar d test.rar *.txt
重新整理壓縮包中的檔案,即新增已經存在於壓縮包中但更新的檔案
wzzip test.zip test -f
winrar f test.rar test
更新壓縮包中的檔案,即新增已經存在於壓縮包中但更新的檔案以及新檔案
wzzip test.zip test -u
winrar u test.rar test
移動檔案到壓縮包,即新增檔案到壓縮包後再刪除被壓縮的檔案
wzzip test.zip -r -p -m
winrar m test.rar test -r
新增全部 *.exe 檔案到壓縮檔案,但排除有 a或b
開頭名稱的檔案
wzzip test *.exe -xf*.* -xb*.*
winrar a test *.exe -xf*.* -xb*.*
加密碼進行壓縮
wzzip test.zip test
-s123。注意密碼是大小寫敏感的。在圖形介面下開啟帶密碼的壓縮檔案,會看到+號標記(附圖1)。
winrar a test.rar test -p123
-r。注意密碼是大小寫敏感的。在圖形介面下開啟帶密碼的壓縮檔案,會看到*號標記(附圖2)。
按名字排序、以簡要方式列表顯示壓縮包檔案
wzzip test.zip -vbn
rar l test.rar
鎖定壓縮包,即防止未來對壓縮包的任何修改
無對應命令
winrar k test.rar
建立360kb大小的分卷壓縮包
無對應命令
winrar a -v360 test
帶子目錄資訊解壓縮檔案
wzunzip test -d
winrar x test -r
不帶子目錄資訊解壓縮檔案
wzunzip test
winrar e test
解壓縮檔案到指定目錄,如果目錄不存在,自動建立
wzunzip test newfolder
winrar x test newfolder
解壓縮檔案並確認覆蓋檔案
wzunzip test -y
winrar x test -y
解壓縮特定檔案
wzunzip test *.txt
winrar x test *.txt
解壓縮現有檔案的更新檔案
wzunzip test -f
winrar x test -f
解壓縮現有檔案的更新檔案及新檔案
wzunzip test -n
winrar x test -u
批量解壓縮檔案
wzunzip *.zip
winrar e *.rar
C 壓縮檔案
首先新增system.io.com pression 注意deflatestream類不能用來壓縮大小超過4gb的檔案。gzipstream同樣不能用來壓縮大小超過4gb的檔案。public void compressfile string srcfile,string dstfile if fil...
C 壓縮檔案
c 壓縮檔案 方法1 filepath想要壓縮檔案的位址 zippath輸出壓縮檔案的位址 private void getfiletozip string filepath,string zippath 方法2 private void filetozip string path,string a...
C 壓縮檔案
最近悟出來乙個道理,在這兒分享給大家 學歷代表你的過去,能力代表你的現在,學習代表你的將來。十年河東十年河西,莫欺少年窮。學無止境,精益求精 上一節講述了c webapi傳參之post請求 ajax 本節 c 壓縮檔案的方法,直接上 如下public class ziputility filestr...