puhpol
- Longevity: 9 years
- Posts: 888
- REPUTATION:74[+] [-]
|
Набор программ которые лично мне просто не обходимы в системе. Собрано в кучку, оболочка для установки сделана avalat и conty9. Состав программ:- Notepad++ - текстовый редактор.
- Office_micro 2003 + Пакет совместимости Office2007support - мини офис, обрезан по полной .
- vlc-3.0.8- бесплатный и свободный кросс-платформенный медиаплеер и медиаплатформа с открытым исходным кодом.
- XnShell - инструмент для работы с файлами изображений, который интегрируется в стандартный проводник Windows, расширяя его возможности.
- 7-Zip - архиватор для Windows к достоинствам которого можно смело отнести комфортную скорость работы, поддержку всех современных форматов.
- DirectX 9с- бесплатный пакет библиотек, необходимый системе для эффективной работы с мультимедиа – играми, звуком, анимациями.
- RuntimePack - это пакет библиотек, устанавливающий недостающие для Windows компоненты, которые необходимые для запуска компьютерных игр и программ.
- SumatraPDF- бесплатная, компактная и быстрая программа для просмотра файлов в формате PDF, ePub, MOBI, XPS, DjVu, CHM, CBZ и CBR.
- UltraISO- мощная программа для создания, редактирования и конвертирования различных форматов образов CD/DVD-дисков.
- WinRAR- мега популярный архиватор, умеющий обрабатывать практически любые форматы архивов (например RAR, ZIP, CAB, 7Z, JAR, ACE, TAR, ISO)...
Может еще кому сгодится, скачать >> 200mb.
|
Отправлено: 16-Feb-2020 16:38
(after 1 hour 35 minutes)
dimo70
- Longevity: 6 years 10 months
- Posts: 3738
- REPUTATION:27[+] [-]
- Location: BG
|
puhpol, есть возможность самому добавлять или удалять программы?
_________________ Signed off for violation of forum rules
|
KottoSOFT
- Longevity: 9 years 8 months
- Posts: 562
- REPUTATION:65[+] [-]
|
puhpol, Приветствую, с под папками, то понятно, можно обновить проги скрипты с ключами подправитьКартинка А вот бы оболочку в разобранном виде, что то добавить, что то подправить, под свой набор программ.
|
Отправлено: 16-Feb-2020 19:57
(after 2 hours 17 minutes)
puhpol
- Longevity: 9 years
- Posts: 888
- REPUTATION:74[+] [-]
|
Как разобрать и изменить: Файл "Prog_Setup.exe" открываем в редакторе ресурсов (ресторатор допустим) Если нужно заменить иконку - меняем ресурс "Иконка - 1" . Сам скрипт это ресурс "SKRIPT > 101" , вытаскиваем ресурс 101 допустим на рабочий стол. . Открываем ресурс 101 в текстовом редакторе. (советую сохранить файл с разрешением wsc и открыть его в Notepad++ из этой темы Изменяем на свое усмотрение. В скрипте прописаны и закоментированны еще два чек бокса, куда можно добавить еще две программы не нарушая разметку окна.Сам скрипт с описаниемCALC #XEnvi=0 ENVI pb=CALC Pbar1=%Pbar1%+%b% ENVI pb1=ENVI @Pbar1=%Pbar1% ENVI p=CALC n=%n%+1 CALL @Windows1 _SUB Windows1,W400H280,Установка программ,, // Размер основного окна и его название. LABE Label,L10T10W380H20,Выберите программы для установки ,,0xaaaaaa,16 // Местоположение надписи, цвет,размер шрифта. // рисуем чекбоксы CHEK Chk1,L15T40W150H20,7-Zip 19.00,,1 // Чек бокс и его местоположение в окне + Имя программы CHEK Chk2,L15T60W150H20,SumatraPDF 3.1.2,,1 CHEK Chk3,L15T80W150H20,UltraISO 9.7.2.3561,,1 CHEK Chk4,L15T100W150H20,WinRAR 5.71,,1 CHEK Chk5,L15T120W150H20,RuntimePack Lite,,1 //CHEK Chk6,L15T140W150H20,Новая программа,,0 CHEK Chk7,L220T40W250H20,Notepad++,,1 CHEK Chk8,L220T60W250H20,VLC,,1 CHEK Chk9,L220T80W250H20,XnShell,,1 CHEK Chk10,L220T100W250H20,Office2003micro,,1 CHEK Chk11,L220T120W250H20,DirectX 9.0c,,1 //CHEK Chk12,L220T140W250H20,Новая программа,,0 PBAR PBAR1,L15T180W365H20,, // Прогрес бар и его место положение в окне ENVI @Pbar1=-1 //Задаём начальное значение прогрес бара, при -1 он невидим ITEM Button1,L15T215W100H24,Снять выбор,CALL Slct // местоположение кнопки "выбрать все - снять выбор" ITEM Button2,L285T215W100H24,Установить,CALL puh // местоположение кнопки "установить" LABE h1,L130T200W120H24, ,,0x0000FF,14 // Местоположение надписи "установка.... - Готово", цвет,размер шрифта. _END //Подпрограмма кнопки "выбрать все - снять выбор" _SUB Slct FORX* 1 2 3 4 5 6 7 8 9 10 11 12,TEnvi,ENVI @Chk%TEnvi%.Check=%XEnvi% CALC XEnvi=lnot(%XEnvi%) FIND $%XEnvi%=0,ENVI @Button1=Снять выбор!ENVI @Button1=Выбрать всё _END //Окно "да-нет" _SUB puh MESS Установить выбранные приложения?@#YN FIND $%YESNO%=YES,CALL st FIND $%YESNO%=NO,EXIT _END //Подпрограмма прогрес бара _SUB st ENVI n=0 IFEX $%Chk1.Check%=1,%p% IFEX $%Chk2.Check%=1,%p% IFEX $%Chk3.Check%=1,%p% IFEX $%Chk4.Check%=1,%p% IFEX $%Chk5.Check%=1,%p% IFEX $%Chk6.Check%=1,%p% IFEX $%Chk7.Check%=1,%p% IFEX $%Chk8.Check%=1,%p% IFEX $%Chk9.Check%=1,%p% IFEX $%Chk10.Check%=1,%p% IFEX $%Chk11.Check%=1,%p% IFEX $%Chk12.Check%=1,%p% CALC b=100/%n% ENVI @Pbar1=0 CALL inst _END //Подпрограмма установки программ _SUB inst ENVI @h1=Установка ..... // Вывод надписи "Установка...." IFEX $%Chk1.Check%=1,TEAM EXEC ="%CurDir%\prog\7-Zip.exe" /ais|%pb%|%pb1% //Если отмечен чекбокс 1 запуск приложения по пути: каталог программы\prog\7-Zip.exe с параметром /ais IFEX $%Chk2.Check%=1,TEAM EXEC ="%CurDir%\prog\SumatraPDF" /ais|%pb%|%pb1% IFEX $%Chk3.Check%=1,TEAM EXEC ="%CurDir%\prog\UltraISO" /VERYSILENT|%pb%|%pb1% IFEX $%Chk4.Check%=1,TEAM EXEC ="%CurDir%\prog\WinRAR" /ais|%pb%|%pb1% IFEX $%Chk5.Check%=1,TEAM EXEC ="%CurDir%\prog\RuntimePack.exe" /y /gm2 /fm0|%pb%|%pb1% //IFEX $%Chk6.Check%=1,TEAM EXEC ="%CurDir%\prog\Новая программа"|%pb%|%pb1% IFEX $%Chk7.Check%=1,TEAM EXEC =*"%CurDir%\prog\Notepad++\npp.cmd"|%pb%|%pb1% IFEX $%Chk8.Check%=1,TEAM EXEC =*"%CurDir%\prog\VLC\vlc.cmd"|%pb%|%pb1% IFEX $%Chk9.Check%=1,TEAM EXEC =*"%CurDir%\prog\XnShell\XnShellEx.cmd"|%pb%|%pb1% IFEX $%Chk10.Check%=1,TEAM EXEC ="%CurDir%\prog\Office_micro\Office2003micro.exe" /y| EXEC ="%CurDir%\prog\Office_micro\Office2007support.exe"|%pb%|%pb1% IFEX $%Chk11.Check%=1,TEAM EXEC ="%CurDir%\prog\DirectX.exe"|%pb%|%pb1% //IFEX $%Chk12.Check%=1,TEAM EXEC ="%CurDir%\prog\Новая программа"|%pb%|%pb1% ENVI @h1=ГОТОВО! // Вывод надписи "ГОТОВО" TIPS Выбранные приложения установленны!!!, \n,5000,1, //Вывод надписи в трее, 5000-задержка в милисекундах. _END
|
nikzzzz
- Longevity: 9 years 8 months
- Posts: 3114
- REPUTATION:127[+] [-]
|
puhpol, Я тут решил немного поиграться с PeCmd, в качестве тестовой задачки взял твой скрипт как пример, с GUI никогда до этого в PeCmd не работал. Получилась вот такая хреновина, может пригодится.envi i=0 //Добавляем пункты в меню, название, тип запуска, путь, время выполнения (для прогресса) ArrayAdd "Proga1" "-wait" "%CurDir%\prog\Proga1.cmd" 10 ArrayAdd "Proga2" "-wait" "%CurDir%\prog\Proga1.cmd" 50 ArrayAdd "Proga3" "-wait" "%CurDir%\prog\Proga1.cmd" 20 ArrayAdd "Proga4" "-wait" "%CurDir%\prog\Proga1.cmd" 70 ArrayAdd "Proga5" "-wait" "%CurDir%\prog\Proga1.cmd" 20 //%n% - к-во пунктов меню calc n=%i% - 1 //Вычисляем размер окна calc w=400 calc h=int(%n%/2)*20 + 170 //Создаем основное окно @Windows %w% %h% exit _sub Windows,w%1h%2,Установка программ,, // Размер основного окна и его название. labe Label1,l10t10w%1h20,Выберите программы для установки ,,0xaaaaaa,16 // Местоположение надписи, цвет,размер шрифта. //Инфо calc l=15 calc t=int(%n%/2)*20 + 64 labe Label2,l%l%t%t%w%1h20,====== Привет ====== //Создаем в цикле Чек боксы envi i=0 loop %i%<=%n%, { calc l=mod(%i%,2)*205 + 15 calc t=int(%i%/2)*20 + 40 chek Chk[%i%],l%l%t%t%w150h20,%Name[%i%]%,,1 // Чек бокс и его местоположение в окне + Имя программы calc i=%i% + 1 } //Кнопки calc l=15 calc t=int(%n%/2)*20 + 108 item Button1,l%l%t%t%w100h24,Выбрать все,Sel 1 // местоположение кнопки "выбрать все" calc l=120 item Button2,l%l%t%t%w100h24,Снять выбор,Sel 0 // местоположение кнопки "снять выбор" calc l=280 item Button3,l%l%t%t%w100h24,Установить,Install // местоположение кнопки "Установить" calc l=15 calc t=int(%n%/2)*20 + 84 pbar Pbar,l%l%t%t%w365h20,, // Прогрес бар и его место положение в окне _end _sub ArrayAdd envi Name[%i%]=%~1 envi StartType[%i%]=%~2 envi InstString[%i%]=%~3 envi InstTime[%i%]=%~4 calc i=%i% + 1 _end _sub Sel envi i=0 loop %i%<=%n%, { envi @Chk[%i%].Check=%1 calc i=%i% + 1 } _end _sub CheckSel //Вычисляем общее время выполнения выбранных пунктов envi SummaryTime=0 envi i=0 loop %i%<=%n%, { ifex $%Chk[%i%].Check%=1,calc SummaryTime=%SummaryTime% + %InstTime[%i%]% calc i=%i% + 1 } _end _sub Install mess Установить выбранные приложения?@#YN find $%YESNO%=YES, { envi @Pbar=0 CheckSel envi CurrentTime=0 envi i=0 loop %i%<=%n%, { ifex $%Chk[%i%].Check%=1, { envi @Label2=*** Установка %Name[%i%]% *** exec %StartType[%i%]% %InstString[%i%]% calc CurrentTime=%CurrentTime% + %InstTime[%i%]% calc Percent=%CurrentTime%/%SummaryTime%*100 envi @Pbar=%Percent% envi @Chk[%i%].Check=0 } calc i=%i% + 1 } envi @Label2=*** Все задания выполнены !!! *** } _end Скрипт сырой, много лишнего, чисто демка, но рабочая.
|
nikzzzz
- Longevity: 9 years 8 months
- Posts: 3114
- REPUTATION:127[+] [-]
|
|
puhpol
- Longevity: 9 years
- Posts: 888
- REPUTATION:74[+] [-]
|
nikzzzz, Спасибо! Для понимания очень полезно. Тот что у меня - для меня понятнее и все же хоть и чуть чуть, но в его создании я поучавствовал.
|
puhpol
- Longevity: 9 years
- Posts: 888
- REPUTATION:74[+] [-]
|
nikzzzz, Твой вариант легче редактировать. Но возникает вопрос: Откуда берется "время выполнения (для прогресса)"? Засекать время не вариант, на одной машине 2 минуты на другой 4..... Точность особо не нужна, так визуально видно что что то происходит.
|
nikzzzz
- Longevity: 9 years 8 months
- Posts: 3114
- REPUTATION:127[+] [-]
|
74049 Но возникает вопрос: Откуда берется "время выполнения (для прогресса)"? Засекать время не вариант, на одной машине 2 минуты на другой 4..... Без разницы, можешь указать от фонаря, например все единицы поставить, но тогда полоса прогресса будет пропорциональна не времени, а к-ву установленных приложений. Важно относительное время, например одно приложение ставится в десять раз медленнее другого, пишем для первого 10, для второго 1, реальное время установки не используется.
|
Отправлено: 18-Feb-2020 13:24
(after 1 hour 50 minutes)
Guest
- REPUTATION:0[+] [-]
|
nikzzzz, раз пошла такая пьянка, тогда уже лучше читать данные из внешнего файла конфига. Для примера, если наша утиль будет иметь имя MySetup.exe, тогда конфиг MySetup.cfgЧитаем конфигCALC #i=0 //Переменная для подсчета количества программ CALC #NEnvi=0 //Переменная для перебора строк FNAM TEnvi=%MyName% //Получаем в TEnvi имя запущенного файла ENVI TEnvi=%TEnvi%.cfg //Генерируем имя конфига (имя файла с расширением cfg) IFEX %CurDir%\%TEnvi%, //Если найден конфиг {* READ %CurDir%\%TEnvi%,*r,DataCFG //Читаем содержимое конфига в переменную DataCFG READ -,-1,DEnvi,%DataCFG% //Считаем количество строк в конфиге LOOP #%NEnvi%<%DEnvi%, //Цикл чтения из конфига {* READ -,%NEnvi%,XEnvi,%DataCFG% //Читаем в XEnvi строку %NEnvi% CALC #NEnvi=%NEnvi%+1 //Увеличиваем номер строки MSTR -delims:# TEnvi=<4>%XEnvi% //Читаем в переменную TEnvi последнее слово строки FIND $%TEnvi%<>, //Если последнее слово есть, тогда {* CALC #i=%i%+1 //Увеличиваем количество программ MSTR -delims:# Name%i%,StartType%i%,InstString%i%,InstTime%i%=<1*>%XEnvi% //Вносим значения из строки в переменные (разделителем значений служит символ #) MESS %Name%i%%,%StartType%i%%,%InstString%i%%,%InstTime%i%% //Индикация для теста } } ! EXIT //Если конфиг не найден, выход из программыЕсли совместить с демкой от nikzzzzCALC #i=0 CALC #NEnvi=0 FNAM TEnvi=%MyName% ENVI TEnvi=%TEnvi%.cfg IFEX %CurDir%\%TEnvi%, {* READ %CurDir%\%TEnvi%,*r,DataCFG READ -,-1,DEnvi,%DataCFG% LOOP #%NEnvi%<%DEnvi%, {* READ -,%NEnvi%,XEnvi,%DataCFG% CALC #NEnvi=%NEnvi%+1 MSTR -delims:# TEnvi=<4>%XEnvi% FIND $%TEnvi%<>, {* MSTR -delims:# Name[%i%],StartType[%i%],InstString[%i%],InstTime[%i%]=<1*>%XEnvi% CALC #i=%i%+1 } } ! EXIT //---------------------------------------------------------------- //%n% - к-во пунктов меню calc #n=%i% //Вычисляем размер окна calc w=400 calc h=int(%n%/2)*20 + 170 //Создаем основное окно @Windows %w% %h% exit _sub Windows,w%1h%2,Установка программ,, // Размер основного окна и его название. labe Label1,l10t10w%1h20,Выберите программы для установки ,,0xaaaaaa,16 // Местоположение надписи, цвет,размер шрифта. //Инфо calc l=15 calc t=int(%n%/2)*20 + 64 labe Label2,l%l%t%t%w%1h20,====== Привет ====== //Создаем в цикле Чек боксы envi i=0 loop %i%<%n%, { calc l=mod(%i%,2)*205 + 15 calc t=int(%i%/2)*20 + 40 chek Chk[%i%],l%l%t%t%w150h20,%Name[%i%]%,,1 // Чек бокс и его местоположение в окне + Имя программы calc i=%i% + 1 } //Кнопки calc l=15 calc t=int(%n%/2)*20 + 108 item Button1,l%l%t%t%w100h24,Выбрать все,Sel 1 // местоположение кнопки "выбрать все" calc l=120 item Button2,l%l%t%t%w100h24,Снять выбор,Sel 0 // местоположение кнопки "снять выбор" calc l=280 item Button3,l%l%t%t%w100h24,Установить,Install // местоположение кнопки "Установить" calc l=15 calc t=int(%n%/2)*20 + 84 pbar Pbar,l%l%t%t%w365h20,, // Прогрес бар и его место положение в окне _end _sub Sel envi i=0 loop %i%<=%n%, { envi @Chk[%i%].Check=%1 calc i=%i% + 1 } _end _sub CheckSel //Вычисляем общее время выполнения выбранных пунктов envi SummaryTime=0 envi i=0 loop %i%<=%n%, { ifex $%Chk[%i%].Check%=1,calc SummaryTime=%SummaryTime% + %InstTime[%i%]% calc i=%i% + 1 } _end _sub Install mess Установить выбранные приложения?@#YN find $%YESNO%=YES, { envi @Pbar=0 CheckSel envi CurrentTime=0 envi i=0 loop %i%<=%n%, { ifex $%Chk[%i%].Check%=1, { envi @Label2=*** Установка %Name[%i%]% *** exec %StartType[%i%]% %InstString[%i%]% calc CurrentTime=%CurrentTime% + %InstTime[%i%]% calc Percent=%CurrentTime%/%SummaryTime%*100 envi @Pbar=%Percent% envi @Chk[%i%].Check=0 } calc i=%i% + 1 } envi @Label2=*** Все задания выполнены !!! *** } _endПримерное содержимое конфиг-а7-zip#-wait#%CurDir%\prog\Proga1.cmd#1 Моя программа#-wait#%CurDir%\prog\Proga2.cmd#5 ===========Основные программы================= Проверка#-wait#%CurDir%\prog\Proga3.cmd#2 -------------Дополнительно-------------------- Тест#-wait#%CurDir%\prog\Proga4.cmd#7 Proga5#-wait#%CurDir%\prog\Proga5.cmd#2 В конфиге допускаются некорректные строки (т.е., пустые строки, или строки, в которых отсутствует значение после трёх символов "#") - все они будут просто проигнорированы. Разделителем служит символ "#", и, соответственно, он не должен присутствовать ни в пути, ни в имени программ. Если подправить код, можно использовать некоторые другие разделители, например, "^","&","*".
|
nikzzzz
- Longevity: 9 years 8 months
- Posts: 3114
- REPUTATION:127[+] [-]
|
conty9, 74053тогда уже лучше читать данные из внешнего файла конфига. Да я и писал так, что бы это было легко добавить, я пока еще не разбирался с чтением из файла и парсингом, спасибо за пример. Вопросик, ты используешь "calc #n=%i%", а в чем различие от "calc n=%i%" ?74053можно использовать некоторые другие разделители, например, "^","&","*". А что надо подправить, чтобы использовать к примеру "," , в путях он не используется, обрамлять в кавычки?
|
sergeysvirid
- Longevity: 9 years 9 months
- Posts: 2525
- REPUTATION:127[+] [-]
- Location: 65 регион (GMT+11)
|
Всем здрасте! nikzzzz, Часто вижу в названии каталога торрент-раздачи присутствие запятой "," Далеко ходить не буду, взять хотя бы эту раздачу: http://nnmclub.to/forum/viewtopic.php?t=1331710 Каталог с раздачей: Windows Server, Version 1909 (10.0.18363.418)- Оригинальные образы от Microsoft MSDN [En-Ru] И зачастую пользователи не заморачиваются после скачивания, в какой папке(по какому пути) у них лежит та или иная раздача
|
Guest
- REPUTATION:0[+] [-]
|
nikzzzz, символ # в CALC означает, что это будет простое целое число, а не реальное. Просто экономия памяти, выделяемой под переменную. По поводу путей: PеCMD при запуске нормально обработает пути с пробелами. Для правильной обработки прочих символов, как "," - просто нужно обеспечить, чтобы команда EXEC была единственной в строке (используем скобки {} или создаём подпрограмму, при необходимости). Т.е., обеспечиваем правильную интерпретацию синтаксиса отсутствием предварительных комманд, которые могут использовать запятую как разделитель. Также можно использовать и кавычки. Кроме того, если внешней программе передается путь как параметр, тогда кавычки необходимы.
|
Page 1 of 3
Current time is: 05-Oct 02:25
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|