c 壓縮檔案

2021-09-08 03:00:48 字數 4192 閱讀 3164

引用:

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...