Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно


Moderator


Сообщения: 53495
Благодарности: 15516

Профиль | Отправить PM | Цитировать


haker-kirik, в принципе, можете поиграть с этим скриптом:
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion

CD /D "%~dp0"
SetLocal EnableDelayedExpansion

If Exist Temp RD /S /Q Temp
MD Temp

Set CAB=DRIVER

Call :UnpackCab %CAB%
Call :RepackCab %CAB%
Exit

:UnpackCab
  MD Temp\%1
  Extrac32 /L "Temp\%1" /E %1.CAB >nul
GoTo :EOF

:RepackCab
  Echo Обновление %1.CAB. Подождите, пожалуйста.

  Attrib -R "%1.CAB"
  Set DDF=Temp\%1.DDF

  Echo .OPTION EXPLICIT >!DDF!
  Echo .Set InfFileName=NUL >>!DDF!
  Echo .Set RptFileName="Temp\%1.RPT" >>!DDF!
  Echo .Set DestinationDir= >>!DDF!
  Echo .Set CabinetName1="%1.CAB" >>!DDF!
  Echo .Set CabinetNameTemplate="%1*.CAB" >>!DDF!
  Echo .Set DiskDirectoryTemplate="%CD%" >>!DDF!
  Echo .Set UniqueFiles=Off >>!DDF!
  Echo .Set FolderSizeThreshold=2000000 >>!DDF!
  Echo .Set MaxDiskSize=0 >>!DDF!
  Echo .Set Cabinet=On >>!DDF!
  Echo .Set Compress=On >>!DDF!
  Echo .Set CompressionType=LZX >>!DDF!
  Echo .Set CompressionMemory=21 >>!DDF!

  Set CABLst=`Dir /B /O-E Temp\%1\*.* 2^>nul`
  For /F "UseBackQ Delims=" %%K In (!CABLst!) Do Echo "Temp\%1\%%K" "%%K" >>!DDF!
  Start "Перепаковка %1.CAB" /Wait MAKECAB.EXE /V1 /F !DDF!
GoTo :EOF
Сохранить с именем Repack.cmd в отдельную (пустую) папку, туда же скопировать DRIVER.CAB. В скрипте можно менять FolderSizeThreshold. В приведенном варианте (FolderSizeThreshold = 2000000) размер перепакованного DRIVER.CAB у меня получился на 2 метра больше исходного (65322886 байт), но с более быстрым доступом к файлам.

Последний раз редактировалось Petya V4sechkin, 03-08-2007 в 12:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:47, 03-08-2007 | #10