|
Компьютерный форум OSzone.net » Зона тестирования » Тест-форум » Тестирование утилиты для подсветки батников |
|
Тестирование утилиты для подсветки батников
|
Ушёл из жизни Сообщения: 6021 |
Утилита от AZJIO размещена здесь.
Можете потестировать и выложить батники с проблемной подсветкой в этой ветке. @Echo Off SetLocal EnableDelayedExpansion :: ======================================================= :: Файлы можно скачать здесь: :: http://download.virtualbox.org/virtualbox/vboxdownload.html#windows :: ======================================================= :: Размер словаря (МБ), измените, если у Вас недостаточно оперативной памяти :: Set dictUser=32 :: Установить 1 для удаления языков и документации Set lite=1 :: Установить 1 для принудительной упаковки консольным архиватором (при проблемах с упаковкой) Set consol=1 :: ======================================================= Title Создание аддона Virtual Box If "%Time:~0,1%"==" " (Set tt=0%Time:~1,1%-%Time:~3,2%) Else Set tt=%Time:~0,2%-%Time:~3,2% Echo Запущено %Date% в %tt% Echo Подготовка ... Call :Sec strt1 Call :_DelTemp Del /Q Virtu*.* 1>Nul 2>&1 MD Temp 1>Nul 2>&1 Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 If "%xOS%"=="x86" Set ProgramW6432=%ProgramFiles%& Set ProgramFiles(x86)=%ProgramFiles% :: ======================================================= :: Путь к установленному архиватору 7-Zip без слеша в конце. Если у Вас путь нестандартный, то впишите АБСОЛЮТНЫЙ путь. Set path7Zip=%ProgramW6432%\7-Zip rem Echo %path7Zip% :: ======================================================= Call :_TestSys For %%i In ("download\*.exe") Do Set nameExe=%%~nxi If Not Defined nameExe Call :_Abort "Отсутствует дистрибутив VirtualBox (.exe файл)." For /F "tokens=2,3 delims=-" %%i In ("%nameExe%") Do ( Set verexe=%%i Set Build=%%j Set nVer=%%i-r%%j ) Set VerC=%verexe:.=,%,0 Copy bin\7zsd_LZMA2.sfx Temp\7zsd_LZMA2.sfx>Nul For /F "tokens=* delims=" %%i In (bin\ver.rc) Do ( Set ti=%%i Set ti=!ti:02.12.2010=%Date%! Set ti=!ti:1,18,6,1444=%VerC%! Set ti=!ti:3.2.12=%verexe%! Set ti=!ti:68302=%Build%! Echo !ti! >>Temp\ver.rc ) bin\Rc.exe /r /fo Temp\ver.res Temp\ver.rc>Nul bin\ResHacker.exe -addoverwrite Temp\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, Temp\ver.res,,, bin\ResHacker.exe -addoverwrite Temp\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, bin\101.ico, Icon, 101, Del bin\ResHacker.ini bin\ResHacker.log >nul Set FullName=VirtualBox_%verexe%_x86_x64 MD Temp\%FullName%\Files\ForceCopy\SVCPACK 1>Nul 2>&1 Echo Распаковка %nameExe% ... Set pmsi=%cd%\Temp PushD Temp ..\download\%nameExe% -x -s -p "%pmsi%" For %%i In (*.msi) Do ( Set tn=%%~ni Set x!tn:~-2!=%%~ni ) Echo Создание админ. точки из %x86% ... msiexec /a "%pmsi%\%x86%.msi" /qn TARGETDIR="%pmsi%\%x86%" If Not %ErrorLevel%==0 PopD & Call :_Abort "Ошибка %ErrorLevel% создания админ. точки (x86). Повторите." Echo Создание админ. точки из %x64% ... msiexec /a "%pmsi%\%x64%.msi" /qn TARGETDIR="%pmsi%\%x64%" If Not %ErrorLevel%==0 PopD & Call :_Abort "Ошибка %ErrorLevel% создания админ. точки (x64). Повторите." If %lite%==1 ( Echo Удаление мусора из админ. точек ... For %%i In ("%x86%\PFiles\Oracle VM VirtualBox\nls\*.qm") Do ( Set ti=%%~ni If /I Not !ti:~-2!==ru If /I Not !ti:~-2!==en CD. >%%i ) CD. >"%x86%\PFiles\Oracle VM VirtualBox\doc\UserManual.pdf" CD. >"%x86%\PFiles\Oracle VM VirtualBox\VirtualBox.chm" For %%i In ("%x64%\PFiles\Oracle VM VirtualBox\nls\*.qm") Do ( Set ti=%%~ni If /I Not !ti:~-2!==ru If /I Not !ti:~-2!==en CD. >%%i ) CD. >"%x64%\PFiles\Oracle VM VirtualBox\doc\UserManual.pdf" CD. >"%x64%\PFiles\Oracle VM VirtualBox\VirtualBox.chm" ) Call :_sizedir "%x86%" Set /A All += dirsize Call :_sizedir "%x64%" Set /A All += dirsize, AllMB = All/1024/1024 Echo Дост. словарь - !AllMB! МБ (исходя из размера данных !All!) Echo Упаковка админ. точек в архив ... Call :compr "Упаковка админ. точек в архив" "2in1.7z %x86% %x64%" Echo Упаковка архива админ. точек и автономного архиватора в архив ... Set tcomline=%comline% Set comline=-mx0 Call :compr "Упаковка архива админ. точек и автономного архиватора" "VirtuBox.7z 2in1.7z ..\bin\7zr.exe ..\bin\PrivateHash.exe" Set comline=%tcomline% Echo Создание SFX Copy ..\bin\VirtualBox_config.txt >Nul (Echo SetEnvironment="Vers= v%verexe%" Echo SetEnvironment="nVer=%nVer%" Echo ;^^!@InstallEnd@^^!)>>VirtualBox_config.txt Copy /b ..\Temp\7zsd_LZMA2.sfx + VirtualBox_config.txt + VirtuBox.7z ..\VirtuBox.exe>Nul Copy ..\VirtuBox.exe %FullName%\Files\ForceCopy\SVCPACK\ >Nul Echo VirtuBox.exe -ai -gm2 -fm0>%FullName%\Run (Echo └ффюэ VirtualBox v%verexe% [x86/x64] Echo. Echo ╤юфхЁцшЄ фтх тхЁёшш ^(x86 ш x64^). ╧Ёш єёЄрэютъх ЁрчЁ*фэюёЄ№ ёшёЄхь√ юяЁхфхы*хЄё* Echo ртЄюьрЄшўхёъш ш єёЄрэртыштрхЄё* ёююЄтхЄёЄтє■∙р* тхЁёш* тшЁЄєры№эющ ьр°шэ√. Echo. Echo VirtualBox - тшЁЄєры№эр* ьр°шэр. Echo. Echo ╤рщЄ яЁюуЁрьь√: http://www.virtualbox.org/ Echo ┬хЄър рффюэр: http://forum.oszone.net/post-1436397.html#post1436397 Echo. Echo ╠хёЄю єёЄрэютъш: %%PROGRAMFILES%%\Oracle\VirtualBox\ Echo ╤яюёюс єёЄрэютъш: SVCPACK, ьюцхЄ шёяюы№чютрЄ№ё* ш фы* єёЄрэютъш эр "цштє■" ёшёЄхьє. Echo ▀Ёы√ъш ёючфр■Єё*: т ьхэ■ ╧єёъ-^>╧ЁюуЁрьь√, эр Ёрсюўхь ёЄюых, эр ярэхыш с√ёЄЁюую чряєёър. Echo ╧ЁхфєёьюЄЁхэр тючьюцэюёЄ№ єфрыхэш* яЁюуЁрьь√ ўхЁхч ряяыхЄ "╙ёЄрэютър ш єфрыхэшх яЁюуЁрьь". Echo. Echo └ффюэ яЁхфэрчэрўхэ фы* шёяюы№чютрэш* ё яръхЄюь юсэютыхэшщ UpdatePack-XPSP3-Rus Echo. Echo ^(c^) gora, %Date%)>%FullName%\addon.nfo Echo Упаковка аддона в архив ... Call :compr "Упаковка аддона в архив" "..\%FullName%.7z %FullName%" PopD Call :_control "%FullName%.7z" "2in1.7z" Call :Sec strt2 Set /a tmake=strt2-strt1 Echo. Echo Аддон создан и упакован за %tmake%с ^^! Echo Размер %size% МБ (со словарем %rdict1% МБ) Echo. Echo Для удаления временных файлов и выхода нажмите любую клавишу. Echo. Pause >Nul Call :_DelTemp Exit :compr If "%consol%"=="1" ( Start /min /wait "%~1" "%path7Zip%\7z.exe" a -r %~2 %comline% ) Else ( Start /min /wait "" "%path7Zip%\7zG.exe" a -r %~2 %comline% ) Set ErL=%ErrorLevel% If %ErL%==0 GoTo :EOF If %ErL%==2 Set Err=Фатальная ошибка. If %ErL%==8 Set Err=Недостаточно памяти для операции. If %ErL%==255 Set Err=Пользователь остановил процесс. PopD Call :_Abort "Ошибка упаковки %ErL%. %Err%" GoTo :EOF :_control Set /A size=%~z1*10/1024*10/1024 Set size=%size:~0,-2%.%size:~-2% For /F "tokens=1-5 usebackq delims==: " %%i In (`"%path7Zip%\7z.exe" l -slt Temp\%~2`) Do If "%%i"=="Method" If Not "%%l"=="" Set rdict=%%l If "%rdict:~-1%"=="m" ( Set rdict1=%rdict:~,-1% GoTo :EOF ) Set /A rdict-=21 Set rdict1=2 For /L %%i In (1,1,%rdict%) Do Set /A rdict1*=2 GoTo :EOF :_Abort COLOR 0C Echo %~1 Создание аддона прервано^^! Pause >Nul Call :_DelTemp Exit :_TestSys If Not Exist "%path7Zip%\7zG.exe" Call :_Abort "Неверный путь к архиватору 7-Zip." For /F "tokens=1-4 usebackq" %%i In (`"%path7Zip%\7z.exe"`) Do ( If "%%i"=="7-Zip" ( If "%%j"=="[64]" ( Set arch64=%%j Set Ver=%%k If "%%l"=="beta" Set Beta=%%l If "%%l"=="alpha" Set Beta=%%l ) Else ( Set Ver=%%j If "%%k"=="beta" Set Beta=%%k If "%%k"=="alpha" Set Beta=%%k ) ) ) If %Ver% LSS 9.04 Call :_Abort "Старая версия архиватора 7-Zip. Обновите." For /F "Tokens=1,2 Skip=1" %%i In ('WMIC OS Get FreePhysicalMemory^, TotalVisibleMemorySize') Do ( Set /A Fram=%%i/1024, Aram=%%j/1024 GoTo :_End ) :_End Set /a dictM=(%Fram%-4)*10/115 For %%a In (16 24 32 48 64 96 128 192 256 384 512 768 1024) Do If %%a LEQ %dictM% Set dict=%%a Call :_Limit Echo. Echo Разрядность ОС - %xOS% Echo Версия 7-Zip - %Ver% %Beta% %arch64% Echo RAM всего - %Aram% МБ Echo RAM свободно - %Fram% МБ (без учета фрагментации) Echo Макс. словарь - %dictM% МБ (исходя из свободных %Fram% МБ) Echo Реком. словарь - %dict% МБ (исходя из макс. словаря %dictM% МБ%limit%) If Defined dictUser ( If Defined limit2 ( Echo Польз. словарь - %dictUser% МБ ^(будет использован %Sdict% МБ%limit2%^) ) Else ( Echo Польз. словарь - %dictUser% МБ Set Sdict=%dictUser% ) ) Else ( Echo Польз. словарь - не задан ^(будет использован рекомендованный %dict% МБ^) Set Sdict=%dict% ) Echo. Set comline=-mmt2 -m0=BCJ2 -m1=LZMA2:d%Sdict%m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3 GoTo :EOF :_Limit If %xOS%==x64 GoTo :EOF If %dict% GTR 128 Set limit= [предел x86]& Set dict=128 If Not Defined dictUser GoTo :EOF If %dictUser% GTR 128 Set limit2= [предел x86]& Set Sdict=128 GoTo :EOF :_DelTemp RD /s /q Temp 1>Nul 2>&1 If Not Exist Temp GoTo :EOF Ping -n 2 localhost>Nul GoTo :_DelTemp :Sec Set tm=%time% Set /a %1=3600*%tm:~0,2%+60*1%tm:~3,2%+1%tm:~6,2% GoTo :EOF :_sizedir For /F "tokens=1-3" %%a In ('Dir %1 /-C /S /A:-D') Do ( If !flag!==1 Set dirsize=%%c If "%%b"=="файлов:" (Set flag=1) Else Set flag=0 ) GoTo :EOF |
|
Отправлено: 16:47, 13-05-2011 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:33, 05-06-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @Echo Off SETLOCAL enabledelayedexpansion Set SrcDir1=e:\Temp\SPB\scan Set Arhive1=e:\Temp\SPB\arhive Set SrcDir2=e:\Temp\MSK\scan Set Arhive2=e:\Temp\MSK\arhive Set FS=%CD% For /L %%i In (1,1,2) Do ( RD "!SrcDir%%i!" 2>Nul If Exist "!SrcDir%%i!" ( 7z a "!Arhive%%i!\%Date:~6,4%%Date:~3,2%%Date:~0,2%.zip" "!SrcDir%%i!\*">Nul cd /d "!SrcDir%%i!" RD /S /Q "!SrcDir%%i!" 2>Nul cd /d "%FS%" ) Else MD "!SrcDir%%i!" 2>Nul ) Pause |
Отправлено: 11:44, 05-06-2011 | #12 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @echo off Set "STR1=TEST_0123_test_4567" Set "STR2=test_0123_TEST_4567" Call:EncodeString 4 STR1 Call:EncodeString 4 STR2 Pause>Nul EXIT :EncodeString %KeyLength_By2% %VarString% [%VarKey%] ::------------------------------------------------------ SetLocal EnableDelayedExpansion (For /L %%i In (32,1,126) Do (Set/A "$n=%%i+13-(%%i-32)/82*95" %COMSPEC% /C "Exit !$n!"& Set "$n=!=ExitCode:~-2!" %COMSPEC% /C "Exit %%i" & Set "$_!=ExitCodeASCII!=!$n!") Set "tmp=!%~2!!%~2!FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100" Set/A "LN=0x!tmp:~510,2!,IN=LN/%~1+1"& Set "NEWSTR=" For /L %%m In (1,1,%~1) Do (Set/A XOR=0 For /L %%n In (1,1,!IN!) Do (Set/A "LI=%%m-1+(%%n-1)*%~1" Call Set "CHR=%%%~2:~!LI!,1%%"& Set "ASC=" If Defined CHR Call Set "ASC=0x%%$_!CHR!%%" Set/A "XOR=XOR^ASC") %COMSPEC% /C "Exit !XOR!"& Set "NEWSTR=!NEWSTR!!=ExitCode:~-2!") ) EndLocal& If "%~3"=="" (Echo:%NEWSTR%) Else Set "%~3=%NEWSTR%" GoTo:EOF |
Отправлено: 19:54, 07-06-2011 | #13 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @echo off Set "STR1=TEST_0123_test_4567" Set "STR2=test_0123_TEST_4567" Call:EncodeString 4 STR1 Call:EncodeString 4 STR2 Pause>Nul EXIT :EncodeString %KeyLength_By2% %VarString% [%VarKey%] ::------------------------------------------------------ SetLocal EnableDelayedExpansion (For /L %%i In (32,1,126) Do (Set/A "$n=%%i+13-(%%i-32)/82*95" %COMSPEC% /C "Exit !$n!"& Set "$n=!=ExitCode:~-2!" %COMSPEC% /C "Exit %%i" & Set "$_!=ExitCodeASCII!=!$n!") Set "tmp=!%~2!!%~2!FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0EFEEEDECEBEAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDBDAD9D8D7D6D5D4D3D2D1D0CFCECDCCCBCAC9C8C7C6C5C4C3C2C1C0BFBEBDBCBBBAB9B8B7B6B5B4B3B2B1B0AFAEADACABAAA9A8A7A6A5A4A3A2A1A09F9E9D9C9B9A999897969594939291908F8E8D8C8B8A898887868584838281807F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837363534333231302F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A09080706050403020100" Set/A "LN=0x!tmp:~510,2!,IN=LN/%~1+1"& Set "NEWSTR=" For /L %%m In (1,1,%~1) Do (Set/A XOR=0 For /L %%n In (1,1,!IN!) Do (Set/A "LI=%%m-1+(%%n-1)*%~1" Call Set "CHR=%%%~2:~!LI!,1%%"& Set "ASC=" If Defined CHR Call Set "ASC=0x%%$_!CHR!%%" Set/A "XOR=XOR^ASC") %COMSPEC% /C "Exit !XOR!"& Set "NEWSTR=!NEWSTR!!=ExitCode:~-2!") ) EndLocal& If "%~3"=="" (Echo:%NEWSTR%) Else Set "%~3=%NEWSTR%" GoTo:EOF |
Отправлено: 11:47, 08-06-2011 | #14 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @echo off setlocal enabledelayedexpansion echo %TIME% FOR /F "tokens=*" %%i IN ('d_t.com') DO %%i echo 1: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% For /F "delims=" %%i IN ('Now.com') DO Set NowTime=%%i Echo %NowTime% for /f "tokens=1-6 delims=:. " %%a in ('Now.com') do (set _hh=%%a& set _mm=%%b& set _ss=%%c& set _mo=%%d& set _da=%%e& set _yr=%%f) set _cy=19& if %_yr% LSS 30 set _cy=20 echo 2: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% pause>nul FOR /F "tokens=*" %%i IN ('d_t.com') DO %%i echo 1: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% for /f "tokens=1-6 delims=:. " %%a in ('Now.com') do (set _hh=%%a& set _mm=%%b& set _ss=%%c& set _mo=%%d& set _da=%%e& set _yr=%%f) set _cy=19& if %_yr% LSS 30 set _cy=20 echo 2: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% FOR /F "tokens=*" %%i IN ('d_t.com') DO %%i echo 1: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% for /f "tokens=1-6 delims=:. " %%a in ('Now.com') do (set _hh=%%a& set _mm=%%b& set _ss=%%c& set _mo=%%d& set _da=%%e& set _yr=%%f) set _cy=19& if %_yr% LSS 30 set _cy=20 echo 2: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% FOR /F "tokens=*" %%i IN ('d_t.com') DO %%i echo 1: %_da%.%_mo%.%_cy%%_yr% %_hh%:%_mm%:%_ss%%TIME:~-3% |
Отправлено: 18:38, 08-06-2011 | #15 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать @Echo Off Call :_DelTemp Del /Q Skype*.* 1>Nul 2>&1 MD Temp 1>Nul 2>&1 Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 If "%xOS%"=="x86" Set ProgramW6432=%ProgramFiles%& Set ProgramFiles(x86)=%ProgramFiles% :: ======================================================= :: Путь к установленному архиватору 7-Zip без слеша в конце. Если у Вас путь нестандартный, то впишите АБСОЛЮТНЫЙ путь. Set path7Zip=%ProgramW6432%\7-Zip :: ======================================================= Call :_TestSys For %%i In ("download\*.msi") Do Set nameMsi=%%~nxi If Defined nameMsi ( Echo Создание админ. точки из %nameMsi% ... msiexec /a "download\%nameMsi%" /qn TARGETDIR="%cd%\Temp" If Not !ErrorLevel!==0 Call :_Abort "Ошибка !ErrorLevel! создания админ. точки. Повторите." ) Else ( For %%i In ("download\*.exe") Do Set nameExe=%%~nxi If Not Defined nameExe Call :_Abort "Отсутствует дистрибутив Skype (.msi и\или .exe файл)." Echo Распаковка и создание админ. точки из !nameExe! ... download\!nameExe! /EXTRACTONLY:"%cd%\Temp" If Not !ErrorLevel!==0 Call :_Abort "Ошибка !ErrorLevel! создания админ. точки. Повторите." For %%i In ("Temp\*.msi") Do Set nameMsi=%%~nxi ) PushD Temp Echo Подготовка вспомогательных файлов ... Set p_exe=%~dp0Temp\Program Files\Skype\Phone\Skype.exe WMIC datafile where name='%p_exe:\=\\%' get version>verEXE.txt For /F "tokens=1-4 skip=1 delims=." %%i In ('Type verEXE.txt') Do ( Set Build=%%l Set Build=!Build: =! Set verexe=%%i.%%j.%%k Set mark=%%k Set verORIG=%%i,%%j,%%k,!Build! ) If %mark%==%mBE% (Set SFXname=Skype_BE) Else Set SFXname=Skype_SE Set FullName=%SFXname%_%verexe%.%Build% (Echo. Echo 1 VERSIONINFO Echo FILEVERSION %verORIG% Echo PRODUCTVERSION %verORIG% Echo FILEOS 0x40004 Echo FILETYPE 0x1 Echo { Echo BLOCK "StringFileInfo" Echo { Echo BLOCK "000004b0" Echo { Echo VALUE "CompanyName", "Company 'gora-sah'" If %mark%==%mBE% (Echo VALUE "FileDescription", "Skype Business Edition" ) Else Echo VALUE "FileDescription", "Skype" Echo VALUE "FileVersion", "Version of a file %verexe% build %Build%" Echo VALUE "InternalName", "" Echo VALUE "LegalCopyright", "What rights are not present (while?)" Echo VALUE "OriginalFilename", "%SFXname%.exe" Echo VALUE "PrivateBuild", "%DT:~6,2%.%DT:~4,2%.%DT:~0,4%" Echo VALUE "ProductName", "Skype v%verexe%" Echo VALUE "ProductVersion", "Version of a product %verexe%" Echo VALUE "Comments", "Программа общения через интернет" Echo VALUE "LegalTrademarks", "Still is not present" Echo VALUE "SpecialBuild", "Only for users 'oszone.net' ;)" Echo } Echo } Echo. Echo BLOCK "VarFileInfo" Echo { Echo VALUE "Translation", 0x0000 0x04B0 Echo } Echo })>ver_866.rc Call :_ChCp CP1251 ver_866.rc ver.rc ..\bin\Rc.exe /r /fo ver.res ver.rc>Nul PopD bin\ResHacker.exe -addoverwrite bin\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, Temp\ver.res,,, bin\ResHacker.exe -addoverwrite Temp\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, bin\101.ico, ICONGROUP, 101, Del bin\ResHacker.ini bin\ResHacker.log >nul PushD Temp MD %FullName%\Files\ForceCopy\SVCPACK 1>Nul 2>&1 For %%i In (%nameMsi%) Do Set All=%%~zi Call :_sizedir "Program Files" Set /A All += dirsize Call :_sizedir "Application Data" Set /A All += dirsize, AllMB = All/1024/1024 >..\bin\suff_size.txt Echo !AllMB! !All! Echo %SFXname%.exe -ai -gm2 -fm0>%FullName%\Run (If %mark%==%mBE% (Echo Аддон Skype Business Edition v%verexe% build %Build% ) Else Echo Аддон Skype v%verexe% build %Build% Echo. Echo Skype - программа общения через интернет. Echo. Echo Сайт программы: http://www.skype.org/ Echo Ветка аддона: http://forum.oszone.net/thread-205267.html Echo. Echo Место установки: %%PROGRAMFILES%%\Skype\ Echo Способ установки: SVCPACK, может использоваться и для установки на "живую" систему. Echo Ярлыки создаются: в меню Пуск-^>Программы-^>Skype и на рабочем столе. Echo Предусмотрена возможность удаления программы через апплет "Установка и удаление программ". Echo. Echo По умолчанию Skype добавляется в автозагрузку. Echo Для установки с отключенной автозагрузкой измените строку в файле Run так: Echo %SFXname%.exe -ai0 -gm2 Echo. Echo Аддон предназначен для использования с пакетом обновлений UpdatePack-XPSP3-Rus Echo. Echo ^(c^) gora, %DT:~6,2%.%DT:~4,2%.%DT:~0,4%)>addon_866.txt Call :_ChCp CP1251 addon_866.txt %FullName%\addon.nfo (Echo ;^^!@Install@^^!UTF-8^^! If %mark%==%mBE% (Echo SetEnvironment="Name=Skype Business Edition" ) Else Echo SetEnvironment="Name=Skype" Echo SetEnvironment="Vers= v%verexe%.%Build%" Echo SetEnvironment="DelOldVer=hidcon:cmd /c For /f \"tokens=2 delims={}\" %%i In ('Dir /b /s %%windir%%\\installer\\skypeicon.exe 2^>Nul') Do msiexec /x{%%i}" Echo Title="Установка %%Name%%" Echo BeginPrompt="Сейчас будет установлен %%Name%%%%Vers%% Echo. Echo Если в системе будет обнаружена старая версия Skype, то она Echo будет удалена автоматически перед началом установки. Echo. Echo Нажав 'OK', удерживая [Shift], можно скрыть процесс установки" Echo FinishMessage="%%Name%%%%Vers%% установлен^!" Echo GUIFlags="2+4+8+16+32+2048+4096" Echo GUIMode="1" Echo MiscFlags="4" Echo ExtractTitle="Распаковка файлов..." Echo ExtractDialogText="Придется подождать..." Echo RunProgram="%%DelOldVer%% /qb" Echo RunProgram="%nameMsi% /passive /norestart" Echo AutoInstall="%%DelOldVer%% /qn" Echo AutoInstall="fm20:%nameMsi% /quiet /norestart" Echo AutoInstall0="%%DelOldVer%% /qn" Echo AutoInstall0="%nameMsi% /quiet /norestart" Echo AutoInstall0="hidcon:Reg Delete \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\" /v \"Skype\" /f" Echo ;^^!@InstallEnd@^^!)>config_866.txt Call :_ChCp UTF8 config_866.txt config.txt Echo Упаковка админ. точки в архив ... Call :compr Archive.7z "Program Files" "Application Data" %nameMsi% Echo Создание SFX Copy /b ..\Temp\7zsd_LZMA2.sfx + config.txt + Archive.7z %FullName%\Files\ForceCopy\SVCPACK\%SFXname%.exe>Nul :: ======================================================= :: Копирование SFX в папку компилятора для проверки. Если не требуется, закоментируйте следующую строку Copy %FullName%\Files\ForceCopy\SVCPACK\%SFXname%.exe ..\>Nul :: ======================================================= Echo Упаковка аддона в архив ... Call :compr ..\%FullName%.7z %FullName% PopD Call :_control "%FullName%.7z" "Archive.7z" Call :Sec strt2 Set /a tmake=strt2-strt1 Echo. Echo Аддон создан и упакован за %tmake%с. Размер %size% МБ (со словарем %rdict1% МБ) Echo. Echo Для удаления временных файлов и выхода нажмите любую клавишу. Echo. Pause >Nul Call :_DelTemp Exit :compr Start /min /wait "" "%path7Zip%\7zG.exe" a -r %* %comline% Set ErL=%ErrorLevel% If %ErL%==0 GoTo :EOF If %ErL%==2 Set Err=Фатальная ошибка. If %ErL%==8 Set Err=Недостаточно памяти для операции. If %ErL%==255 Set Err=Пользователь остановил процесс. PopD Call :_Abort "Ошибка упаковки %ErL%. %Err%" GoTo :EOF :_control Set /A size=%~z1*5/512*5/512 Set size=%size:~0,-2%.%size:~-2% For /F "tokens=1-5 usebackq delims==: " %%i In (`"%path7Zip%\7z.exe" l -slt Temp\%~2`) Do If "%%i"=="Method" If Not "%%l"=="" Set rdict=%%l If "%rdict:~-1%"=="m" ( Set rdict1=%rdict:~,-1% GoTo :EOF ) Set /A rdict-=21 Set rdict1=2 For /L %%i In (1,1,%rdict%) Do Set /A rdict1*=2 GoTo :EOF :_Abort COLOR 0C Echo %~1 Создание аддона прервано^^! Pause >Nul Call :_DelTemp Exit :_TestSys If Not Exist "%path7Zip%\7zG.exe" Call :_Abort "Неверный путь к архиватору 7-Zip." For /F "tokens=1-4 usebackq" %%i In (`"%path7Zip%\7z.exe"`) Do ( If "%%i"=="7-Zip" ( If "%%j"=="[64]" ( Set arch64=%%j Set Ver=%%k If "%%l"=="beta" Set Beta=%%l If "%%l"=="alpha" Set Beta=%%l ) Else ( Set Ver=%%j If "%%k"=="beta" Set Beta=%%k If "%%k"=="alpha" Set Beta=%%k ) ) ) If %Ver% LSS 9.04 Call :_Abort "Старая версия архиватора 7-Zip. Обновите." For /F "Tokens=1,2 Skip=1" %%i In ('WMIC OS Get FreePhysicalMemory^, TotalVisibleMemorySize') Do ( Set /A Fram=%%i/1024, Aram=%%j/1024 GoTo _End ) :_End Set /a dictM=(%Fram%-4)*10/115 For %%a In (16 24 32 48 64 96 128 192 256 384 512 768 1024) Do If %%a LEQ %dictM% Set dict=%%a Call :_Limit For /F "Tokens=1,3* Delims=,:" %%a In ('WMIC OS GET Caption^,CSDVersion /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Echo %%b %%c Echo Разрядность ОС - %xOS% Echo Версия 7-Zip - %Ver% %Beta% %arch64% (установлен в %path7Zip%) Echo RAM всего - %Aram% МБ Echo RAM свободно - %Fram% МБ (без учета фрагментации) Echo Макс. словарь - %dictM% МБ (исходя из свободных %Fram% МБ) Echo Реком. словарь - %dict% МБ (исходя из макс. словаря %dictM% МБ%limit%) If Exist bin\suff_size.txt For /F "tokens=1-2" %%i In (bin\suff_size.txt) Do Echo Достат. словарь - %%i МБ ^(исходя из размера данных %%j^) If Defined dictUser ( If Defined limit2 ( Echo Польз. словарь - %dictUser% МБ ^(будет использован %Sdict% МБ%limit2%^) ) Else ( Echo Польз. словарь - %dictUser% МБ Set Sdict=%dictUser% ) ) Else ( Echo Польз. словарь - не задан ^(будет использован рекомендованный %dict% МБ^) Set Sdict=%dict% ) Echo. Set comline=-m0=BCJ2 -m1=LZMA2:d%Sdict%m:fb273 -m2=LZMA2:d21:fb273:lp2:lc0 -m3=LZMA2:d21:fb273:lp2:lc0 -mb0:1 -mb0s1:2 -mb0s2:3 :: Set comline=-mmt2 -m0=BCJ2 -m1=LZMA2:d%Sdict%m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3 GoTo :EOF |
Отправлено: 20:13, 07-11-2011 | #16 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:08, 29-06-2012 | #17 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать текст
@Echo Off
SetLocal EnableDelayedExpansion :: ======================================================= :: Файлы можно скачать здесь: :: http://download.virtualbox.org/virtu...d.html#windows :: ======================================================= :: Размер словаря (МБ), измените, если у Вас недостаточно оперативной памяти :: Set dictUser=32 :: Установить 1 для удаления языков и документации Set lite=1 :: Установить 1 для принудительной упаковки консольным архиватором (при проблемах с упаковкой) Set consol=1 :: ======================================================= Title Создание аддона Virtual Box If "%Time:~0,1%"==" " (Set tt=0%Time:~1,1%-%Time:~3,2%) Else Set tt=%Time:~0,2%-%Time:~3,2% Echo Запущено %Date% в %tt% Echo Подготовка ... Call :Sec strt1 Call :_DelTemp Del /Q Virtu*.* 1>Nul 2>&1 MD Temp 1>Nul 2>&1 Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 If "%xOS%"=="x86" Set ProgramW6432=%ProgramFiles%& Set ProgramFiles(x86)=%ProgramFiles% :: ======================================================= :: Путь к установленному архиватору 7-Zip без слеша в конце. Если у Вас путь нестандартный, то впишите АБСОЛЮТНЫЙ путь. Set path7Zip=%ProgramW6432%\7-Zip rem Echo %path7Zip% :: ======================================================= Call :_TestSys For %%i In ("download\*.exe") Do Set nameExe=%%~nxi If Not Defined nameExe Call :_Abort "Отсутствует дистрибутив VirtualBox (.exe файл)." For /F "tokens=2,3 delims=-" %%i In ("%nameExe%") Do ( Set verexe=%%i Set Build=%%j Set nVer=%%i-r%%j ) Set VerC=%verexe:.=,%,0 Copy bin\7zsd_LZMA2.sfx Temp\7zsd_LZMA2.sfx>Nul For /F "tokens=* delims=" %%i In (bin\ver.rc) Do ( Set ti=%%i Set ti=!ti:02.12.2010=%Date%! Set ti=!ti:1,18,6,1444=%VerC%! Set ti=!ti:3.2.12=%verexe%! Set ti=!ti:68302=%Build%! Echo !ti! >>Temp\ver.rc ) bin\Rc.exe /r /fo Temp\ver.res Temp\ver.rc>Nul bin\ResHacker.exe -addoverwrite Temp\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, Temp\ver.res,,, bin\ResHacker.exe -addoverwrite Temp\7zsd_LZMA2.sfx, Temp\7zsd_LZMA2.sfx, bin\101.ico, Icon, 101, Del bin\ResHacker.ini bin\ResHacker.log >nul Set FullName=VirtualBox_%verexe%_x86_x64 MD Temp\%FullName%\Files\ForceCopy\SVCPACK 1>Nul 2>&1 Echo Распаковка %nameExe% ... Set pmsi=%cd%\Temp PushD Temp ..\download\%nameExe% -x -s -p "%pmsi%" For %%i In (*.msi) Do ( Set tn=%%~ni Set x!tn:~-2!=%%~ni ) Echo Создание админ. точки из %x86% ... msiexec /a "%pmsi%\%x86%.msi" /qn TARGETDIR="%pmsi%\%x86%" If Not %ErrorLevel%==0 PopD & Call :_Abort "Ошибка %ErrorLevel% создания админ. точки (x86). Повторите." Echo Создание админ. точки из %x64% ... msiexec /a "%pmsi%\%x64%.msi" /qn TARGETDIR="%pmsi%\%x64%" If Not %ErrorLevel%==0 PopD & Call :_Abort "Ошибка %ErrorLevel% создания админ. точки (x64). Повторите." If %lite%==1 ( Echo Удаление мусора из админ. точек ... For %%i In ("%x86%\PFiles\Oracle VM VirtualBox\nls\*.qm") Do ( Set ti=%%~ni If /I Not !ti:~-2!==ru If /I Not !ti:~-2!==en CD. >%%i ) CD. >"%x86%\PFiles\Oracle VM VirtualBox\doc\UserManual.pdf" CD. >"%x86%\PFiles\Oracle VM VirtualBox\VirtualBox.chm" For %%i In ("%x64%\PFiles\Oracle VM VirtualBox\nls\*.qm") Do ( Set ti=%%~ni If /I Not !ti:~-2!==ru If /I Not !ti:~-2!==en CD. >%%i ) CD. >"%x64%\PFiles\Oracle VM VirtualBox\doc\UserManual.pdf" CD. >"%x64%\PFiles\Oracle VM VirtualBox\VirtualBox.chm" ) Call :_sizedir "%x86%" Set /A All += dirsize Call :_sizedir "%x64%" Set /A All += dirsize, AllMB = All/1024/1024 Echo Дост. словарь - !AllMB! МБ (исходя из размера данных !All!) Echo Упаковка админ. точек в архив ... Call :compr "Упаковка админ. точек в архив" "2in1.7z %x86% %x64%" Echo Упаковка архива админ. точек и автономного архиватора в архив ... Set tcomline=%comline% Set comline=-mx0 Call :compr "Упаковка архива админ. точек и автономного архиватора" "VirtuBox.7z 2in1.7z ..\bin\7zr.exe ..\bin\PrivateHash.exe" Set comline=%tcomline% Echo Создание SFX Copy ..\bin\VirtualBox_config.txt >Nul (Echo SetEnvironment="Vers= v%verexe%" Echo SetEnvironment="nVer=%nVer%" Echo ;^^!@InstallEnd@^^!)>>VirtualBox_config.txt Copy /b ..\Temp\7zsd_LZMA2.sfx + VirtualBox_config.txt + VirtuBox.7z ..\VirtuBox.exe>Nul Copy ..\VirtuBox.exe %FullName%\Files\ForceCopy\SVCPACK\ >Nul Echo VirtuBox.exe -ai -gm2 -fm0>%FullName%\Run (Echo └ффюэ VirtualBox v%verexe% [x86/x64] Echo. Echo ╤юфхЁцшЄ фтх тхЁёшш ^(x86 ш x64^). ╧Ёш єёЄрэютъх ЁрчЁ*фэюёЄ№ ёшёЄхь√ юяЁхфхы*хЄё* Echo ртЄюьрЄшўхёъш ш єёЄрэртыштрхЄё* ёююЄтхЄёЄтє■∙р* тхЁёш* тшЁЄєры№эющ ьр°шэ√. Echo. Echo VirtualBox - тшЁЄєры№эр* ьр°шэр. Echo. Echo ╤рщЄ яЁюуЁрьь√: http://www.virtualbox.org/ Echo ┬хЄър рффюэр: http://forum.oszone.net/post-1436397.html#post1436397 Echo. Echo ╠хёЄю єёЄрэютъш: %%PROGRAMFILES%%\Oracle\VirtualBox\ Echo ╤яюёюс єёЄрэютъш: SVCPACK, ьюцхЄ шёяюы№чютрЄ№ё* ш фы* єёЄрэютъш эр "цштє■" ёшёЄхьє. Echo ▀Ёы√ъш ёючфр■Єё*: т ьхэ■ ╧єёъ-^>╧ЁюуЁрьь√, эр Ёрсюўхь ёЄюых, эр ярэхыш с√ёЄЁюую чряєёър. Echo ╧ЁхфєёьюЄЁхэр тючьюцэюёЄ№ єфрыхэш* яЁюуЁрьь√ ўхЁхч ряяыхЄ "╙ёЄрэютър ш єфрыхэшх яЁюуЁрьь". Echo. Echo └ффюэ яЁхфэрчэрўхэ фы* шёяюы№чютрэш* ё яръхЄюь юсэютыхэшщ UpdatePack-XPSP3-Rus Echo. Echo ^(c^) gora, %Date%)>%FullName%\addon.nfo Echo Упаковка аддона в архив ... Call :compr "Упаковка аддона в архив" "..\%FullName%.7z %FullName%" PopD Call :_control "%FullName%.7z" "2in1.7z" Call :Sec strt2 Set /a tmake=strt2-strt1 Echo. Echo Аддон создан и упакован за %tmake%с ^^! Echo Размер %size% МБ (со словарем %rdict1% МБ) Echo. Echo Для удаления временных файлов и выхода нажмите любую клавишу. Echo. Pause >Nul Call :_DelTemp Exit :compr If "%consol%"=="1" ( Start /min /wait "%~1" "%path7Zip%\7z.exe" a -r %~2 %comline% ) Else ( Start /min /wait "" "%path7Zip%\7zG.exe" a -r %~2 %comline% ) Set ErL=%ErrorLevel% If %ErL%==0 GoTo :EOF If %ErL%==2 Set Err=Фатальная ошибка. If %ErL%==8 Set Err=Недостаточно памяти для операции. If %ErL%==255 Set Err=Пользователь остановил процесс. PopD Call :_Abort "Ошибка упаковки %ErL%. %Err%" GoTo :EOF :_control Set /A size=%~z1*10/1024*10/1024 Set size=%size:~0,-2%.%size:~-2% For /F "tokens=1-5 usebackq delims==: " %%i In (`"%path7Zip%\7z.exe" l -slt Temp\%~2`) Do If "%%i"=="Method" If Not "%%l"=="" Set rdict=%%l If "%rdict:~-1%"=="m" ( Set rdict1=%rdict:~,-1% GoTo :EOF ) Set /A rdict-=21 Set rdict1=2 For /L %%i In (1,1,%rdict%) Do Set /A rdict1*=2 GoTo :EOF :_Abort COLOR 0C Echo %~1 Создание аддона прервано^^! Pause >Nul Call :_DelTemp Exit :_TestSys If Not Exist "%path7Zip%\7zG.exe" Call :_Abort "Неверный путь к архиватору 7-Zip." For /F "tokens=1-4 usebackq" %%i In (`"%path7Zip%\7z.exe"`) Do ( If "%%i"=="7-Zip" ( If "%%j"=="[64]" ( Set arch64=%%j Set Ver=%%k If "%%l"=="beta" Set Beta=%%l If "%%l"=="alpha" Set Beta=%%l ) Else ( Set Ver=%%j If "%%k"=="beta" Set Beta=%%k If "%%k"=="alpha" Set Beta=%%k ) ) ) If %Ver% LSS 9.04 Call :_Abort "Старая версия архиватора 7-Zip. Обновите." For /F "Tokens=1,2 Skip=1" %%i In ('WMIC OS Get FreePhysicalMemory^, TotalVisibleMemorySize') Do ( Set /A Fram=%%i/1024, Aram=%%j/1024 GoTo :_End ) :_End Set /a dictM=(%Fram%-4)*10/115 For %%a In (16 24 32 48 64 96 128 192 256 384 512 768 1024) Do If %%a LEQ %dictM% Set dict=%%a Call :_Limit Echo. Echo Разрядность ОС - %xOS% Echo Версия 7-Zip - %Ver% %Beta% %arch64% Echo RAM всего - %Aram% МБ Echo RAM свободно - %Fram% МБ (без учета фрагментации) Echo Макс. словарь - %dictM% МБ (исходя из свободных %Fram% МБ) Echo Реком. словарь - %dict% МБ (исходя из макс. словаря %dictM% МБ%limit%) If Defined dictUser ( If Defined limit2 ( Echo Польз. словарь - %dictUser% МБ ^(будет использован %Sdict% МБ%limit2%^) ) Else ( Echo Польз. словарь - %dictUser% МБ Set Sdict=%dictUser% ) ) Else ( Echo Польз. словарь - не задан ^(будет использован рекомендованный %dict% МБ^) Set Sdict=%dict% ) Echo. Set comline=-mmt2 -m0=BCJ2 -m1=LZMA2:d%Sdict%m:fb273 -m2=LZMA2:d21:fb273 -m3=LZMA2:d21:fb273 -mb0:1 -mb0s1:2 -mb0s2:3 GoTo :EOF :_Limit If %xOS%==x64 GoTo :EOF If %dict% GTR 128 Set limit= [предел x86]& Set dict=128 If Not Defined dictUser GoTo :EOF If %dictUser% GTR 128 Set limit2= [предел x86]& Set Sdict=128 GoTo :EOF :_DelTemp RD /s /q Temp 1>Nul 2>&1 If Not Exist Temp GoTo :EOF Ping -n 2 localhost>Nul GoTo :_DelTemp :Sec Set tm=%time% Set /a %1=3600*%tm:~0,2%+60*1%tm:~3,2%+1%tm:~6,2% GoTo :EOF :_sizedir For /F "tokens=1-3" %%a In ('Dir %1 /-C /S /A:-D') Do ( If !flag!==1 Set dirsize=%%c If "%%b"=="файлов:" (Set flag=1) Else Set flag=0 ) GoTo :EOF картинка
![]() |
Последний раз редактировалось gora, 26-11-2014 в 09:14. Отправлено: 21:20, 24-01-2013 | #18 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Новая версия утилиты RSAT для Windows 7 SP1 доступна для загрузки | OSZone News | Новости и события Microsoft | 0 | 10-04-2011 01:30 | |
Оптимизация за счет батников | Valik87 | Microsoft Windows NT/2000/2003 | 3 | 04-12-2009 14:32 | |
Драйвер для подсветки и мультимедиа Sony Vaio VGN AR520E? | Kondrat6407 | Поиск драйверов, прошивок и руководств | 0 | 01-10-2008 23:41 | |
Системные утилиты для WinXP | BigMike | Программное обеспечение Windows | 10 | 25-06-2008 00:24 | |
Утилиты для управление портами | Yazago | Программное обеспечение Windows | 1 | 13-06-2008 20:19 |
|