office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

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

微信交流群(請(qǐng)用微信掃碼)

        

VBA使用rar.exe命令行解壓zip文件提示不是 rar 壓縮文件,沒(méi)有可提取的文件的解決辦法

2017-09-13 09:00:00
zstmtony
原創(chuàng)
10166

由于Access VBA及Excel VBA沒(méi)有直接壓縮和解壓縮的函數(shù)和工具,所以一般都是借助于rar.exe通過(guò)命令行的方式來(lái)實(shí)現(xiàn)對(duì)rar壓縮解壓縮或生成rar壓縮文件。

但rar.exe能否支持zip文件的壓縮與解壓縮呢?

我們嘗試使用rar.exe來(lái)解壓縮zip壓縮文件,發(fā)現(xiàn)在命令行會(huì)提示 提示不是 rar 壓縮文件,沒(méi)有可提取的文件

那如何解決呢?


其實(shí)解決辦法非常的簡(jiǎn)單:

1.就是把rar.exe改成winrar.exe就行了,因?yàn)閞ar.exe本來(lái)就只支持rar格式的壓縮和解壓

而要壓縮和解壓zip格式的壓縮文件,就需要winrar.exe了


2. 當(dāng)然對(duì)于zip壓縮文件的處理也可使用 zip32.dll 或 unzip32.dll



相關(guān)資料:

在嘗試提取zip文件時(shí),我收到錯(cuò)誤:
c:\ path \ name.zip不是RAR存檔
沒(méi)有要提取的文件
我的代碼是:

p.StartInfo.FileName = @"C:\Program Files\WinRAR\rar.exe";
p.StartInfo.Arguments = string.Format("x -o- {2} "{0}" * "{1}"\\ ",
  szFN,
  outFolder,
  passWord == null ? "" : string.Format("-p"{0}"", passWord));
GUI版本可以提取zip和7z文件。

為什么這不工作?如何提取zip和7z文件?

(注意:我有不同的源代碼為7zip,我想我可以合并這兩個(gè),只有使用上面的文件有一個(gè)rar擴(kuò)展名,但我不喜歡這個(gè)解決方案。

免費(fèi)unrar.exe和控制臺(tái)版本Rar.exe的WinRAR的只支持RAR壓縮文件格式。在手冊(cè)的第二段中明確描述了WinRAR的程序文件文件夾中Rar.exe的文本文件。Rar.txt

您需要使用WinRar.exe,而且還支持其他歸檔格式:

[path \ winrar.exe] x [開關(guān)] [路徑到zip文件] [要提取的文件。對(duì)于所有文件] [路徑文件夾提取到]
例:

"%ProgramFiles%\WinRAR\winrar.exe" x -ibck c:\file.zip *.* c:\folder\
用于GUI版本的語(yǔ)法,命令和開關(guān)WinRAR.exe在WinRAR的幫助中列出和描述。單擊菜單中的幫助菜單項(xiàng)幫助主題,在幫助選項(xiàng)卡上打開內(nèi)容項(xiàng)目命令行模式,并閱讀此項(xiàng)下列出的幫助頁(yè)面。

例如,-ibck僅支持WinRAR.exe但不是通過(guò)的交換機(jī)Rar.exe是用于在后臺(tái)運(yùn)行提取,這意味著WinRAR的 GUI版本使提取最小化到Windows系統(tǒng)托盤中的圖標(biāo)。

分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)