office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

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

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


系統自帶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:\

分享
北京十一选五基本走势