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

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

Старожил


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

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


У VistaPath вообще был скрипт на 53кб.
Winstyle патчит лишь ресурсы, не затрагивая исполняемую часть (если исключить Fake), по действию он не отличается от старого ResPatch до того; с ResPatch'ем можно использовать nLite, следовательно можно и с Winstyl'ом. Дополнительный вес придают строчки по копированию авторана, применения boot и т.д., сама патчерская часть:
читать дальше »
Код: Выделить весь код
Echo ------------------------------------------------------------------------------- Обработка патчеров Winstyle >>%WorkDir%\log\WinStyle.log


Echo Копирование патчеров Winstyle во временный каталог. >>%WorkDir%\log\WinStyle.log
If Exist "%WorkDir%\Patch\*.exe" (
Copy %WorkDir%\Patch\Patch_*.exe %WorkDir%\Tmp\ >>%WorkDir%\log\WinStyle.log

Echo Создание списка патчей. >>%WorkDir%\log\WinStyle.log
For /F "UseBackQ Delims=" %%I In (`Dir %WorkDir%\Tmp /B /ON 2^>nul`) Do Call :ResFilNam %%I
For /F "Delims=" %%I In (%WorkDir%\FileList) Do if exist "%I386%\%%~I.*" copy %I386%\%%~I.* %WorkDir%\Tmp\ >>%WorkDir%\log\WinStyle.log

Echo Распаковка файлов. >>%WorkDir%\log\WinStyle.log
For /F "UseBackQ Delims=" %%I In (`Dir %WorkDir%\Tmp\*.??_ /B /ON 2^>nul`) Do ( 
Echo %%~I>>%WorkDir%\PackList
Expand -r "%WorkDir%\Tmp\%%~I" "%WorkDir%\Tmp" >>%WorkDir%\log\WinStyle.log
)

del %WorkDir%\Tmp\*.??_ 

For /F "UseBackQ Delims=" %%I In (`Dir %WorkDir%\Patch /B /ON 2^>nul`) Do %WorkDir%\Tmp\%%~I -force -guiless -auto -quiet -nobackup -dir %WorkDir%\Tmp 

Echo Упаковка файлов.>>%WorkDir%\log\WinStyle.log
For /F "UseBackQ Delims=" %%I In (`Dir %WorkDir%\Tmp /B /ON 2^>nul`) Do Call :PackFiles %%~I >>%WorkDir%\log\WinStyle.log

Copy /Y %WorkDir%\Tmp\*.??_ %I386%\  >>%WorkDir%\log\WinStyle.log

Echo Интеграция пакета оформления WinStyle завершена. >>%WorkDir%\log\WinStyle.log

) Else (
      Echo Winstyle       : Отсутствуют патчеры для интеграции. >>%WorkDir%\log\WinStyle.log
)

RD /S /Q %WorkDir%\Temp  >nul
RD /S /Q %WorkDir%\Tmp  >nul
del %WorkDir%\filelist
del %WorkDir%\packlist
GoTo :EOF

:ResFilNam
Set J=%~1
Echo %J:~6,-4%>>%WorkDir%\FileList
GoTo :EOF

:PackFiles
Set J=%~1
For /F "Delims=" %%K In (%WorkDir%\PackList) Do if /I "%%~K"=="%J:~0,-1%_" (
MakeCab /D CompressionMemory=21 /D CompressionType=LZX %WorkDir%\Tmp\%J% %WorkDir%\Tmp\%J:~0,-1%_ 
)
GoTo :EOF

:FSAExpand
Set J=%~1
copy %I386%\%J% %WorkDir%\Tmp\ >>%WorkDir%\log\WinStyle.log
Expand -r "%WorkDir%\Tmp\%J%" "%WorkDir%\Tmp" >>%WorkDir%\log\WinStyle.log
Echo %J%>>%WorkDir%\PackList
Goto :EOF
весит 3кб.

Отправлено: 12:34, 25-08-2009 | #29