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

2017-09-13 09:00:00
zstmtony
原創
1290

由於Access VBA及Excel VBA沒有直接壓縮和解壓縮的函數和工具,所以一般都是藉助於rar.exe通過命令行的方式來實現對rar壓縮解壓縮或生成rar壓縮文件。

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

我們嚐試使用rar.exe來解壓縮zip壓縮文件,髮現在命令行會提示 提示不是 rar 壓縮文件,沒有可提取的文件

那如何解決呢?


其實解決辦法非常的簡單:

1.就是把rar.exe改成winrar.exe就行瞭,因爲rar.exe本來就隻支持rar格式的壓縮和解壓

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


2. 當然對於zip壓縮文件的處理也可使用 zip32.dll 或 unzip32.dll



相關資料:

在嚐試提取zip文件時,我收到錯誤:
c:\ path \ name.zip不是RAR存檔
沒有要提取的文件
我的代碼是:

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,我想我可以閤併這兩箇,隻有使用上麵的文件有一箇rar擴展名,但我不喜歡這箇解決方案。

免費unrar.exe和控製颱版本Rar.exe的WinRAR的隻支持RAR壓縮文件格式。在手冊的第二段中明確描述瞭WinRAR的程序文件文件夾中Rar.exe的文本文件。Rar.txt

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

[path \ winrar.exe] x [開關] [路徑到zip文件] [要提取的文件。對於所有文件] [路徑文件夾提取到]
例:

"%ProgramFiles%\WinRAR\winrar.exe" x -ibck c:\file.zip *.* c:\folder\
用於GUI版本的語法,命令和開關WinRAR.exe在WinRAR的幫助中列齣和描述。單擊菜單中的幫助菜單項幫助主題,在幫助選項卡上打開內容項目命令行模式,併閲讀此項下列齣的幫助頁麵。

例如,-ibck僅支持WinRAR.exe但不是通過的交換機Rar.exe是用於在後颱運行提取,這意味著WinRAR的 GUI版本使提取最小化到Windows繫統託盤中的圖標。

分享