【求助】如何解這種CAB檔...



贊助商連結


頁 : [1] 2

komurofan
2003-08-01, 05:47 PM
有些*.cab的壓縮檔,不能依一般方法解開內容,會出現我附檔的那訊息,有方法可以強制解開嗎?

贊助商連結


dkjfso
2003-08-03, 02:12 PM
你要不要試試WinRAR

琥珀
2003-08-03, 03:30 PM
有一些壓縮檔,雖然使用右鍵可以看到解壓縮選項,但仍然無法解開。例如 Data1.cab 之類的檔案。

timas
2003-08-03, 04:49 PM
這是InstallShield的安裝程式做成的檔案 不是windows 標準的cab檔

琥珀
2003-08-03, 05:04 PM
似乎由 InstallShield 所導引的 setup,其壓縮檔(如Data1.cab)是不能單獨解開的。也就是說一定要Run它所提供的安裝程式(setup.exe)才可以。

如果是 Windows Installer 所導引,例如RO的安裝程式,用它的Data1.cab來實驗,結果是可以單獨解開的。

komurofan
2003-08-04, 11:42 AM
那看來還是無解囉?
但我想應該還是可以解開的,大家一起來努力吧!

to dkjfso:
用WINRAR還是沒用的!

komurofan
2003-08-06, 02:57 AM
為什麼這篇有資格到精華區?

Nomad
2003-08-07, 02:08 AM
利用 extract.exe 解壓縮 Windows 的CAB檔案
資料來源:斌斌小站

原始發佈日期:2000-01-02
最後更新日期:2002-02-11

適用版本:
Windows Me
Windows 98
Windows 95
Windows NT
Windows 2000
Windows XP

你在 Windows 95、98、Me、2000、XP、IE..等等的光碟片中都會看到 Windows 的原始檔案都是以.cab 的方式儲存著 。.cab 檔案是 Windows 的專屬格式的壓縮檔案,當作業系統的一些重要系統檔案損壞的時候,我們就需要自己動手把完好的檔案從原版光碟中解出來,來修復作業系統。

如果要從.cab的檔案中取出你要的檔案,可以使用的方法有:

使用Winzip
如果是 Windows 98,可以利用 SFC.EXE 來解(Win95沒有此功能),Windows Me、Windows XP 可以利用 Msconfig.exe 來解。
使用 DOS 下的工具 extract.exe 解出你要的檔案。
但是在這裡,我是要教你利用 extract.exe:這個任在何一版 Windows都有提供的工具程式來解出你需要的檔案,當你Windows 無法啟動的時候,就需要學會這一種「自救」的方法。

因為,前兩個方法雖然簡單,但必須是你的 Windows系統還能進得去才管用,萬一,你的Windows已經沒法正常啟動,你只能進入Command Prompt(即 DOS)模式,我們就只能利用extract.exe 去解出原始的檔案,來覆蓋掉你系統中已經損壞的系統檔。

extract.exe 這個程式在哪?在Windows的開機片裡(利用新增/移除程式製作的開機片),或是在 C:\Windows\Command 下,或是 Windows 9x 原版光碟裡都可以找得到。

在開始之前,有幾點要提醒:

Extract.exe 是一個 MS-DOS 程式,所以沒有視窗的圖形介面,如果你以前曾是 DOS 作業系統的使用者的話,應該對這類程式的使用語法不會感到陌生,沒有 DOS 經驗的使用者,或許一時之間會感覺到困難。
.cab 檔案在原版光碟中的位置你要先知道一下:Windows 95 的.cab 檔案是在光碟win95 目錄下,Windows 98的 .cab 檔案是在win98目錄下。
你可以利用開機片開機,或是在Windows的 MS-DOS模式下執行此程式皆可(假如你的Windows還能正常啟動的話)
 

把原版 Windows 95 或 98 光碟放入你的光碟機中,準備以 Extract.exe 解壓縮檔案,extract 的語法如下:

extract /a <cabinet> <filename> /l <destination>

cabinet 是 cab 檔案名稱
filename 是你要從 cab 取出的檔案名稱
destination 是檔案解出後要擺放的位置
< >只是用來標記說明的,不是「命令」的一部分,注意:每一參數間都有一空白。
如果你有 DOS 使用經驗,不妨可以使用 /? 參數(extract /?)來看一下 extract 的指令說明。
因為我並沒有 Windows 95/98 的 cab 詳細清單,所以,我也不知道哪個檔案是在哪個 cab 檔案裡,唯一的方法,就是去試著一個個cab裡慢慢找。
舉個實際的例子會比較容易明白,假設,我要解 Shell.dll 這個檔 到 C:\Windows\System下(Shell.dll 是在 precopy1.cab 裡),又假設我的光碟機代號是 F(實際練習時,請你換成你的光碟機代號)。(就是指向你 cab檔的所在路徑)

那麼這個指令與後面的參數就是:

extract /a f:\win98\precopy1.cab shell.dll /l c:\windows\system

再舉一例,若要把 precopy1.cab 裡的 sulfnbk.exe 解壓縮放到 c:\windows\command 下,這行指令就是:

extract /a f:\win98\precopy1.cab sulfnbk.exe /L c:\windows\command
﹙L 大小寫無所謂﹚

■extract 也可以接受「萬用字元」* 符號。

DOS 的使用者都知道,所謂的星星符號「*」就是萬用字元,什麼是「萬用字元」?就是用一個符號代表所有的字,例如 *.txt 的意思就是指:所有附檔名為 txt 的檔案。

例如我要把 win95_02.cab 裡的所有 txt 檔解壓到 c:\windows 下,就是:
extract /a f:\win95\win95_02.cab *.txt /l c:\windows

■如果想看某一 cab 檔的內容:
extract /d <cabinet>

■如果想連續看 cab 檔的內容:
extract /a /d <cabinet>

cab 檔案有「連鎖」的特性,找完一個,會接著找與其連接的第二個,一直連鎖下去,例如找完 Base4.cab 會接著找 Base5....找完Win98_21.cab,接下來就繼續搜 Win98_22.cab、Win98_23.cab....等等,依此類推。

例如說,我想要顯示 win98_21.cab 到 win98_76.cab 的內容,就是

extract /a /d win98_21.cab
extract 會讀完win98_21.cab之後,繼續讀下一個,直到最後一個為止。

■尋找檔案
extract /a /d <cabinet> <filename>

例如我想尋找 vmm32.vxd 是位在哪一個 cab 裡,就是:
extract /a /d f:\win98\win98_21.cab vmm32.vxd

(因為 win98_21.cab 是在 win98 目錄下,又因為 win98_21.cab 是一般 windows 檔案的第一個 cab 檔,之前說過,cab 檔有連鎖性,只要找第一個,extract 就會接著找第二個、第三個,所以我這邊讓它從 win98_21.cab 這個檔開始找起。)

extract 就會從 win98_21搜尋起,一直找到最後一個 cab檔案為止,不過,如果找尋的 cab 太多的話,因畫面捲動太快,有時候會不太容易看到檔案是在哪一個 cab 檔案裡。
相關文章:利用SFC(系統檔案檢查員)從原始光碟上抽出檔案 (http://www.binbin.net/computer_tips/computer_win98_tips/20000324/sfc.htm)
相關文章:利用SFC(或 Msconfig)從原始光碟上抽出檔案(二) (http://www.binbin.net/computer_tips/computer_win98_tips/20000324/sfc_2.htm)
相關文章:利用Msconfig(系統組態編輯程式)從原始光碟上抽出檔案 (http://www.binbin.net/computer_tips/computer_win98_tips/20000324/msconfig.htm)

ICLA
2003-08-07, 02:21 AM
用 WinPack 來解 IS 的 CAB 檔案。

timas
2003-08-07, 02:30 AM
InstallShield 裡頭 有可以解開包裝後的檔案
但是 需要密碼的 還是跑不掉