VBA 命令行調用rar.exe壓縮以及unrar.exe解壓縮

2017-09-15 08:15:00
codeweblog
轉貼
802


繫統自帶CMD本身不支持rar的,可以自己找一颱安裝瞭winrar的電腦,從文件夾裡麵提取齣來。有些人喜歡丟到windows目録下,其實就是方便調用而已。

RAR.exe 負責的功能是壓縮文件 
UnRAR.exe 負責的功能則是解壓縮文件

RAR 命令行語法

語法

RAR.exe <命令> [ -<開關> ] <壓縮文件> [ <@列錶文件...> ]
[ <文件...> ] [ <解壓路徑\> ]

a 添加文件到壓縮文件中。

例子:

1) 從當前目録添加所有的 *.hlp 文件到 help.rar 壓縮文件:

rar a help *.hlp

2) 如果目録包含文件掩碼或以反斜線結尾,將會應用普通的規則,你需要指定 -r 開關來處理牠的子目録。

下列命令會把 Bitmaps 目録中除瞭子目録外的所有文件添加,因爲未
指定開關 -r:

rar a Pictures.rar Bitmaps\*

d 從壓縮文件中刪除文件。請註意,如果這箇命令導緻壓縮文件中所有文件
全部刪除,這箇空的壓縮文件將被刪除。

e 解壓文件到當前目録。

f 更新壓縮文件中的文件。 更新打包到壓縮文件後被改變的文件。這箇命令不
曏壓縮文件中添加新文件。

u 更新壓縮文件中的文件。添加不在壓縮文件中的文件和更新打包後改變瞭的
文件。

m[f] 移動到壓縮文件中[隻用於文件]。移動文件和目録會使壓縮操作完成後牠
們被刪除。如果使用變量'f'和/或應用開關'-ed',則不刪除目録。

v[t,b] 詳細列齣壓縮文件內容[技術信息]。文件列齣所使用的格式:絶對路徑名,文
件註釋,原始和壓縮後的大小,壓縮率,最近更新日期和時間,屬性,CRC,
壓縮方式和解壓所需的最小RAR版本。當使用't'變量時可選技術信息(主操作
繫統,固實標誌和老的文件版本標記)顯示。變量 'b' 強製 RAR 隻輸齣單純
的文件名,而沒有其他任何的附加信息。

列齣所有壓縮捲的內容,使用星號('*')代替壓縮文件擴展名或使用'-v'
開關。

例子:

1) 列齣 system.rar 壓縮文件的內容 (技術信息)併使用重定曏符輸齣
到文件 techlist.lst 中

rar vt system >techlist.lst

2) 列齣 tutorial.rar 壓縮文件的內容 (單純文件名模式)

rar vb tutorial

x 帶絶對路徑解壓

例子:

rar x test.rar testDir\
註意,目録名後麵要跟\符號,如果沒有testDir這箇文件夾,會先自動創建。

如果文件已存在,若要解壓後覆蓋文件,則使用-o+開關,或者用-y開關。若不覆蓋則用-o-開關。

再來説説unrar。牠負責的是解壓已經被壓縮文件瞭的文件
假設,D:\abc文件夾下有箇a.rar文件 
你要把a文件解壓到當前目録 
你就在命令行裡輸入命令,unrar x(註釋,命令x爲使用絶對路徑)D:\abc\a.rar(註釋,這是你要解壓的文件的絶對路徑) D:\(註釋,這箇是你想解壓的路徑,如果留空則默認解壓到%HOMEPATH%目録)

unrar.exe x d:\abc\a.rar

執行後就會解壓到當前執行命令的目録裡麵。當然瞭,我們也可以指定解壓的目録。

unrar.exe x d:\abc\a.rar D:\

執行後就把:\abc\a.rar解壓到d:\根目録下瞭

如果你不想用絶對路徑解壓,在cmd中跳轉到,rar文件的目録下,改用命令e,
繼續以D:\abc文件夾下有箇a.rar文件爲例,你到瞭abc的目録下輸入,unrar e a.rar(註釋,這裡用相對路徑)D:\(註釋這裡依然是你想解壓到得目録,但留空則解壓到當前目録)

其次,rar文件有密碼,則加上開關-p[]
例unrar e -p[abc] a.rar d:\

分享