c 壓縮檔案

2022-03-28 05:25:13 字數 4132 閱讀 7752

引用:

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