Старожил
Сообщения: 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
|