$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
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.