puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация: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 лет 11 месяцев
 				- Сообщений: 3799
 				- Репутация:27[+]   [-]
 				- Откуда: BG
 				
							
			 
			
			 | 
						
		
			
				
				puhpol, есть возможность самому добавлять или удалять программы?    
								
							 
								 _________________ Подпись отключена за нарушение правил форума 		 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								KottoSOFT
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 562
 				- Репутация:65[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				puhpol, Приветствую, с под папками, то понятно, можно обновить проги скрипты с ключами подправитьКартинка  А вот бы оболочку в разобранном виде, что то добавить, что то подправить, под свой набор программ.
  
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
								 																			
			
            			
	
		 		Отправлено:  16-Фев-2020 19:57
					(спустя 2 часа 17 минут)
				 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация: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
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 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
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 3114
 				- Репутация:127[+]   [-]
 								
							
			 
			
			 | 
						
		
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				nikzzzz,     Спасибо! Для понимания очень полезно.    Тот что у меня - для меня понятнее и все же хоть и чуть чуть, но в его создании я  поучавствовал.   
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				nikzzzz, Твой вариант легче редактировать. Но возникает вопрос: Откуда берется "время выполнения (для прогресса)"? Засекать время не вариант, на одной машине 2 минуты на другой 4..... Точность особо не нужна, так визуально видно что что то происходит.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								nikzzzz
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 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
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 3114
 				- Репутация:127[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				conty9,    74053тогда уже лучше читать данные из внешнего файла конфига.  Да я и писал так, что бы это было легко добавить, я пока еще не разбирался с чтением из файла и парсингом, спасибо за пример.     Вопросик, ты используешь "calc #n=%i%", а в чем различие от "calc n=%i%" ?74053можно использовать некоторые другие разделители, например, "^","&","*".  А что надо подправить, чтобы использовать к примеру "," , в путях он не используется, обрамлять в кавычки?
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								sergeysvirid
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 2674
 				- Репутация: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 
	
	
		Текущее время: 04-Ноя 10:40 
		Часовой пояс: UTC + 3  
	 
	
 
	
	
		
		Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
  
	 
	 | 
 
 
	 
	 |