定義
MakeCAB 有三個特性:1)一個壓縮檔案(CAB)中存儲多個檔案;2)跨檔案壓縮;3)允許檔案不在同一壓縮檔案中。MakeCAB也支持自解壓檔案,自解壓檔案中包含一個EXTRACT.EXE命令。
根據檔案壓縮的數量,以及期望的訪問模式(順序或隨機存取),可以使用MakeCAB以不同的方式構建內部檔案。MakeCAB的一個關鍵概念是資料夾。一個資料夾是一個或多個檔案壓縮在一起的集合實體。內部檔案格式能夠支持多種形式的壓縮,支持MSZIP,LZX格式。
命令及用法
語法
makecab [/v[n]] [/d var=<value> ...] [/l <dir>] <source> [<destination>]
makecab [/v[<n>]] [/d var=<value> ...] /f <directives_file> [...]
參數詳解
<source>
要壓縮的檔案。
<destination>
壓縮後的檔案名稱,如果忽略,則將源檔案名稱的最後一個字元改為下劃線(_)作為為壓縮檔案名稱。
/D var=value
var:compressiontype 壓縮類型,有:none、 mszip、 lzx
compressionmemory 壓縮率,在lzx類型下需指定:範圍15--21
value:指定值
例:makecab /d compressiontype=lzx /d compressionmemory=21 xxx.xxx
意思:以lzx壓縮方式最高(21)壓縮xxx.xxx檔案
/l <dir>
指定放置目標檔案的位置(默認為當前目錄)。
/v[<n>]
設定調試參數 (0=無,...,3=完全)。
用法一
a.先建立ddf檔案(含設定及檔案列表), 如:Sample.ddfb. 進入命令行格式 輸入 makecab /f Sample.ddf
用法二
a.先建立txt檔案(檔案列表)b.makecab /f list.txt /d compressiontype=mszip /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab
附
ddf檔案的格式:
.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=CASReport_OCX.CAB
.set maxdisksize=1024000000
.Set CompressionType=MSZIP;** All files are compressed in cabinet files
.Set UniqueFiles="OFF"
.Set Cabinet=on
.Set DiskDirectory1=CASReport_OCX
CASReport_OCX.ocx
;*** <the end>