puhpol
- Стаж: 10 лет
- Сообщений: 892
- Репутация:75[+] [-]
|
Набор программ которые лично мне просто не обходимы в системе. Собрано в кучку, оболочка для установки сделана 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-Фев-2020 16:38
(спустя 1 час 35 минут)
dimo70
- Стаж: 7 лет
- Сообщений: 3784
- Репутация:27[+] [-]
- Откуда: BG
|
puhpol, есть возможность самому добавлять или удалять программы?
_________________ Подпись отключена за нарушение правил форума
|
KottoSOFT
- Стаж: 9 лет
- Сообщений: 562
- Репутация:65[+] [-]
|
puhpol, Приветствую, с под папками, то понятно, можно обновить проги скрипты с ключами подправитьКартинка А вот бы оболочку в разобранном виде, что то добавить, что то подправить, под свой набор программ.
|
Отправлено: 16-Фев-2020 19:57
(спустя 2 часа 17 минут)
puhpol
- Стаж: 10 лет
- Сообщений: 892
- Репутация:75[+] [-]
|
Как разобрать и изменить: Файл "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
- Стаж: 9 лет
- Сообщений: 3114
- Репутация: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
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
|
puhpol
- Стаж: 10 лет
- Сообщений: 892
- Репутация:75[+] [-]
|
nikzzzz, Спасибо! Для понимания очень полезно. Тот что у меня - для меня понятнее и все же хоть и чуть чуть, но в его создании я поучавствовал.
|
puhpol
- Стаж: 10 лет
- Сообщений: 892
- Репутация:75[+] [-]
|
nikzzzz, Твой вариант легче редактировать. Но возникает вопрос: Откуда берется "время выполнения (для прогресса)"? Засекать время не вариант, на одной машине 2 минуты на другой 4..... Точность особо не нужна, так визуально видно что что то происходит.
|
nikzzzz
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
74049 Но возникает вопрос: Откуда берется "время выполнения (для прогресса)"? Засекать время не вариант, на одной машине 2 минуты на другой 4..... Без разницы, можешь указать от фонаря, например все единицы поставить, но тогда полоса прогресса будет пропорциональна не времени, а к-ву установленных приложений. Важно относительное время, например одно приложение ставится в десять раз медленнее другого, пишем для первого 10, для второго 1, реальное время установки не используется.
|
Отправлено: 18-Фев-2020 13:24
(спустя 1 час 50 минут)
|
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
- Стаж: 9 лет
- Сообщений: 3114
- Репутация:127[+] [-]
|
conty9, 74053тогда уже лучше читать данные из внешнего файла конфига. Да я и писал так, что бы это было легко добавить, я пока еще не разбирался с чтением из файла и парсингом, спасибо за пример. Вопросик, ты используешь "calc #n=%i%", а в чем различие от "calc n=%i%" ?74053можно использовать некоторые другие разделители, например, "^","&","*". А что надо подправить, чтобы использовать к примеру "," , в путях он не используется, обрамлять в кавычки?
|
sergeysvirid
- Стаж: 9 лет
- Сообщений: 2584
- Репутация:127[+] [-]
- Откуда: 65 регион (GMT+11)
|
Всем здрасте! nikzzzz, Часто вижу в названии каталога торрент-раздачи присутствие запятой "," Далеко ходить не буду, взять хотя бы эту раздачу: http://nnmclub.to/forum/viewtopic.php?t=1331710 Каталог с раздачей: Windows Server, Version 1909 (10.0.18363.418)- Оригинальные образы от Microsoft MSDN [En-Ru] И зачастую пользователи не заморачиваются после скачивания, в какой папке(по какому пути) у них лежит та или иная раздача
|
|
nikzzzz, символ # в CALC означает, что это будет простое целое число, а не реальное. Просто экономия памяти, выделяемой под переменную. По поводу путей: PеCMD при запуске нормально обработает пути с пробелами. Для правильной обработки прочих символов, как "," - просто нужно обеспечить, чтобы команда EXEC была единственной в строке (используем скобки {} или создаём подпрограмму, при необходимости). Т.е., обеспечиваем правильную интерпретацию синтаксиса отсутствием предварительных комманд, которые могут использовать запятую как разделитель. Также можно использовать и кавычки. Кроме того, если внешней программе передается путь как параметр, тогда кавычки необходимы.
|
Страница 1 из 3
Текущее время: 03-Дек 20:57
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|