Создание сжатых файлов формата .cab в операционных системах Windows.Cabinet (.cab) — формат файлов архивов, применяющийся в операционных системах семейства Microsoft Windows. Формат поддерживает сжатие и цифровые подписи. Используется в различных технологиях установщиков Microsoft. Для создания архивов формата .cab имеется стандартная утилита командной строки makecab.exe. Формат командной строки: MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination] MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...] Параметры командной строки: source - исходный файл. destination - сжатый файл. Если имя файла не указано, то используется имя исходного файла, в котором последний символ заменяется подчеркиванием. /F directives - имя файла с директивами для утилиты MAKECAB, используемыми при выполнении сжатия. Описание директив приводится в документации к пакету Microsoft Cabinet SDK /D var=value - определение переменных, используемых в программе. Аналог директивы .Set, используемой в файлах директив. /L dir - каталог для сохранения сжатых файлов, если не указан, то используется текущий. /V[n] - уровень детализации сообщений программы. Примеры использования: makecab image1.ghost - сжать файл image1.ghost. В результате выполнения команды в текущем каталоге будет создан сжатый файл с именем image1.gh_ makecab image1.ghost image1.ghost.cab - сжать файл image1.ghost и результат сохранить в текущем каталоге под именем image1.ghost.cab makecab image1.ghost image1.ghost.cab /L C:\CABs - то же, что и в предыдущем примере, но результат записывается в каталог C:\CABs makecab –V3 image1.ghost image1.ghost.cab /L C:\CABs - то же, что и в предыдущем примере, но с максимальным уровнем информационных сообщений (уровень сжатия, место сохранения и т.п.) makecab /F cabmake.ddf - сжать исходные файлы в соответствии с директивами в файле cabmake.ddf Пример содержимого файла директив: .OPTION EXPLICIT ; Строка комментария начинается с символа ; ; Шаблон имени сжатого файла CabinetNameTemplate: .Set CabinetNameTemplate=Destination.CAB ;Параметры сжатия: .Set Cabinet=on .Set Compress=on ;Список сжимаемых файлов: "image1.ghost" "image2.iso" "file3.wav" Строки, начинающиеся с точки с запятой (;) используются в качестве комментариев. В результате выполнения команды MAKECAB с такими директивами, будет создан архив из 3- х указанных файлов, с именем Destination.cab, в подкаталоге disk1 текущего каталога. По умолчанию, архивирование выполняется с учетом того, чтобы архив или его часть помещалась на дискету 1.44Мб, в противном случае, архив разбивается на части и записывается в подкаталоги disk1, disk2, … Максимальный размер части архива можно изменить, указав параметры для CDROM: .Set MaxDiskSize=cdrom .Set ClusterSize=cdrom Можно также указать произвольный максимальный размер в байтах, кратный размеру кластера ( по умолчанию – 512 байт), например для 512 МБ: .Set MaxDiskSize=536870912 .Set ClusterSize=512 Для изменения имени подкаталога, принятого по умолчанию (disk1) можно использовать директиву DiskDirectoryTemplate: .Set DiskDirectoryTemplate=C:\CABs* ; Создавать архивы в отдельных каталогах CABs1,CABs2… .Set DiskDirectoryTemplate=C:\CABs ;Создавать архивы в указанном каталоге .Set DiskDirectoryTemplate= ; Создавать архивы в текущем каталоге. При большом количестве исходных файлов, для получения их списка удобно использовать команду DIR с выводом результатов в текстовый файл: dir /b /l /A-D /O:N %windir%\System32 > filelist.txt По данной команде формируется список файлов каталога \Windows\System32 в алфавитном порядке без имен подкаталогов с именами в нижнем регистре и записывается в текстовый файл filelist.txt, откуда его содержимое можно скопировать в файл с директивами команды MAKECAB. При создании архивов командой MAKECAB создаются файлы setup.rpt и setup.inf, содержащие перечень обработанных файлов, сведения об их количестве, степени сжатия, скорости обработки данных и т.п. Для распаковки архивов, созданных утилитой MAKECAB можно использовать утилиту командной строки extrac32.exe. |
|
|