mlevon
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 65
 				- Репутация:0[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				Скидываю 2 решения, которые применил в SetupComplete.cmd 1. Проверка на разрядность операционной системы , с установкой какой нибудь програмы (в данном случае ставиться 7zip)echo %PROCESSOR_ARCHITECTURE%|FINDSTR AMD64>NUL && start /wait %SystemDrive%\Install\7z64.msi /q || start /wait %SystemDrive%\Install\7z32.msi /q  2. Проверка операционной системы, если win 7 - то установи фреймворк, в другом случае(т.е если не 7) то установи к примеру 7zip ))@echo off for /f "tokens=*" %%i in ('systeminfo 2^>nul') do (  echo %%i|>nul findstr Windows&& set OS=%%i&& goto:# ) :# for %%i in (  7  10 ) do (  set OS| >nul findstr /ilc:"Windows %%i"&& set OS=%%i ) echo %OS% if %OS%==7 (  start /wait %SystemDrive%\Install\framework462.exe /q  start /wait %SystemDrive%\Install\theme7.exe ) if %OS%==10 (   start /wait %SystemDrive%\Install\theme10.exe )  1 команду тестил с установкой 7zip, 2 команду только из под винды тестить успел, в setupcomplete еще не успел проверить, но под виндой норм работает P.S. нашел сайт, на английском, где очень много разных вопросов по поводу скриптописания обусждено. Не уверен, что можно тут выкладывать , но все таки рискну.P.S.S  Уважаемые инженеры, которые разбираются в скриптах, огромная просьба проверить скрипты на грамотность.
								
							 
			
  Последний раз редактировалось: mlevon (2017-04-11 08:11), всего редактировалось 1 раз 							 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								sov44
								
						
							
				  				  								- Стаж: 8 лет 11 месяцев
 				- Сообщений: 32
 				- Репутация:4[+]   [-]
 				- Откуда: г. Киров
 				
							
			 
			
			 | 
						
		
			
				
				mlevon, ВАши скрипты никак не относятся к разряду "полезные CMD файлы". ИМХО - возможно нужна отдельная тема типа "Помогите с скриптами". Или приглашаю на этот форум, ветка cmd - http://www.cyberforum.ru/cmd-bat Теперь по-сути: - после start желательно ставить кавычки, пустые или с текстом между ними, в которых будет отражаться title командной строки. Напримерstart "Установка 7zip" /wait %SystemDrive%\Install\7z64.msi /q  - второй код написан для командной строки, а не для батника, удвойте процент перед переменной i
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
								 																			
			
            			
	
		 		Отправлено:  04-Апр-2017 10:10
					(спустя 1 час 48 минут)
				 
 
 
	
		
		
						
			
						
							
								Ander_73
								
						
							
				  				  								- Стаж: 8 лет 9 месяцев
 				- Сообщений: 4124
 				- Репутация:127[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				sanchess, например, я делаю так: 1. С сайта http://www.blat.net/ берём консольный транспорт 2. Создаем smtp.ini вида:-to user@mail.ru -server smtp.mail.ru -u user -pw password -charset cp866  2. Ваяем бат-ника вида:blat.exe log.txt -s "Backup report" -of smtp.ini -attach base.rar  И потом всё это запускаем после архивации. smtp.ini нужен просто для удобства, все ключи можно прописывать прямо в командной строке. И в моём примере не хватает порта и типа авторизации. Думаю, это не сложно дописать, прочитав документацию по ключам.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								ssanchess
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 292
 				- Репутация:11[+]   [-]
 				- Откуда: Из тайги
 				
							
			 
			
			 | 
						
		
			
				
				Ander_73,     Спасибо. Буду разбираться и вникать.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
								 																			
			
            			
	
		 		Отправлено:  04-Апр-2017 19:47
					(спустя 1 час 33 минуты)
				 
	
		
		
						
			
						
							
								SunOK
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 352
 				- Репутация:32[+]   [-]
 				- Откуда: Україна, Перлина Поділля
 				
							
			 
			
			 | 
						
		
			
				
				mlevon, ключ командной строки для Setup.exe/m:%fullpath%\OEM или /m:%fullpath%\$OEM$  где %fullpath% - путь к папке, включая букву диска.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								mlevon
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 65
 				- Репутация:0[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				У меня установка идет с помощю скрипта http://usbtor.ru/viewtopic.php?p=33024#3302439976mlevon, ключ командной строки для Setup.exe /m:%fullpath%\OEM или /m:%fullpath%\$OEM$ где  %fullpath% - путь к папке, включая букву диска.   Куда это прикрутить, не знаю (если честно знаний не хватает     )
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								vovan1982
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 1172
 				- Репутация:81[+]   [-]
 				- Откуда: Ростов-на-Дону
 				
							
			 
			
			 | 
						
		
			
				
				mlevon, замени красные строкиВариант 1@echo off setlocal enabledelayedexpansion SET fullpath=здесь прописать путь к OEM или $OEM$ SET DD=_WIN SET MM=1032 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%fullpath%\$OEM$ if exist %IP%\$OEM$\nul SET OEM=/m:%fullpath%\$OEM$ set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause exitВариант 2@echo off setlocal enabledelayedexpansion SET DD=_WIN SET MM=1032 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM - заменить на свой путь if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$ - заменить на свой путь set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause exit 
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				mlevon, Приветствую!   39982У меня установка идет с помощю скрипта  Ну дык тама все есть:скрипт@echo off setlocal enabledelayedexpansion SET DD=_WIN SET MM=1032 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$ set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause exit Выделенное синим - если рядом есть unattend.xml или _unattend.xml  будут использованы в установке. Выделенное красным - если рядом есть OEM или $OEM$ папки  будут использованы в установке. Не знаю по какой причине нужно искать оем папку в другом месте.... Проще изменить имя папки. В противном случае - назначать еще одну переменную.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								mlevon
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 65
 				- Репутация:0[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				vovan1982, Спасибо большое. Сча попробую, отпишусь. puhpol,  Исходя из реализации, нужда такая, нужна 1 общая папка оем на 2 разных install.wim-а , в разных папках. Я вот так менял. В 2 местах.if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$  И не было подхвата папки ОЕМ. Сча попробую только во 2 части.
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
								 																			
			
            			
	
		 		Отправлено:  05-Апр-2017 09:53
					(спустя 1 час 1 минута)
				 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				39986Исходя из реализации, нужда такая, нужна 1 общая папка оем на 2 разных install.wim-а , в разных папках.  Положите в одну папку несколько файлов install , назовите их как вам угодно и подправьте скрипт. Делов то. Я заметил что этот скрипт почему то не кто не хочет изменять под свои нужды.Даже вот это:  SET DD=_WIN SET MM=1032 Как прописал я когдато , так оно и не изменено не кем. А ведь не кто не мешает прописать путь в одной переменной..... Пример: В папке "W7" лежат два файла  install . Один имеет имя lite.wim, второй install.esd. Рядом два файла ответов: unattend.xml для install.esd , и Autounattend.xml для lite.wim Так же для обеих установок общяя папка $OEM$. Два скрипта запускающих установку:Скрипт для lite.wim@echo off setlocal enabledelayedexpansion SET MM=puhf\w7 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!MM! dir /d !IP!\lite.wim&&set IN=!IP!\lite.wim dir /d !IP!\lite.esd&&set IN=!IP!\lite.esd IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo НЕТУ ФАЙЛА LITE.WIM(ESD,SWM) по пути %MM% pause pause goto:RBT ) :INST echo %IP% if exist %IP%\Autounattend.xml SET UN=/unattend:%IP%\Autounattend.xml if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$ set ST=X:\sources\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pauseСкрипт для install.esd@echo off setlocal enabledelayedexpansion SET MM=puhf\w7 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!MM! dir /d !IP!\install.esd&&set IN=!IP!\install.esd IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo НЕТУ ФАЙЛА INSTALL.WIM(ESD,SWM) по пути %MM% pause pause goto:RBT ) :INST echo %IP% if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$ set ST=X:\sources\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause Вариантов много.... З.Ы. И первый скрипт от vovan1982 работать не должон по моим ощущениям....   
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				Использую в SetupComplete для установки панели персонализации в индексы где отсутствует.REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i STARTER IF NOT ERRORLEVEL 1 START /b /wait data\Panel.exe REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i BASIC IF NOT ERRORLEVEL 1 START /b /wait data\Panel.exe  
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								mlevon
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 65
 				- Репутация:0[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				З.Ы. И первый скрипт от vovan1982 работать не должон по моим ощущениям.... ah  подхвата не было. винда установилась чистая.Из boot.wim грузится оболочка, с 2 кнопками. Каждая кнопка вызывает скрипт@echo off setlocal enabledelayedexpansion SET DD=Sources SET MM=Win7 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist X:\sources\unattend.xml SET UN=/unattend:X:\sources\unattend.xml if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%DD%\OEM if exist %IP%\$OEM$\nul SET OEM=/m:%DD%\$OEM$ set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause :QUIT exit @echo off setlocal enabledelayedexpansion SET DD=Sources SET MM=Win10 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist X:\sources\unattend.xml SET UN=/unattend:X:\sources\unattend.xml if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %IP%\OEM\nul SET OEM=/m:%DD%\OEM if exist %IP%\$OEM$\nul SET OEM=/m:%DD%\$OEM$ set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause :QUIT exit  И нужна 1 оем папка, с тем же софтом, для 7 и для 10.Положите в одну папку несколько файлов install , назовите их как вам угодно и подправьте скрипт. Делов то. Я заметил что этот скрипт почему то не кто не хочет изменять под свои нужды.Даже вот это: SET DD=_WIN SET MM=1032 Как прописал я когдато , так оно и не изменено не кем. А ведь не кто не мешает прописать путь в одной переменной..... Пример: В папке "W7" лежат два файла install . Один имеет имя lite.wim, второй install.esd. Рядом два файла ответов: unattend.xml для install.esd , и Autounattend.xml для lite.wim Так же для обеих установок общяя папка $OEM$. Два скрипта запускающих установку:  Думал, что название образа должно быть install.wim  обьязательно. P.S. Не судите строго, я чайник))))
								
							 
										 
		
	 | 
 
	 
		 
 
 
	
		
		
						
			
						
							
								puhpol
								
						
							
				  				  								- Стаж: 10 лет
 				- Сообщений: 891
 				- Репутация:75[+]   [-]
 								
							
			 
			
			 | 
						
		
			
				
				39990 Не судите строго, я чайник))))  Я тоже.... vovan1982 в скрипте задает переменную, а поиск ее нет. Соответственно скрипт не находит ее.... Могу приблезительно нарисовать как оно приблизительно должно быть, но не уверен что правильно....@echo off setlocal enabledelayedexpansion set n=здесь прописать путь к $OEM$ for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% SET DD=_WIN SET MM=1032 SET IN=NI for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set IP=%%I:\!DD!\!MM! dir /d !IP!\install.wim&&set IN=!IP!\install.wim dir /d !IP!\install.esd&&set IN=!IP!\install.esd dir /d !IP!\install.swm&&set IN=!IP!\install.swm IF !IN! NEQ NI goto :INST ) IF %IN% EQU NI ( echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %n%\$OEM$\nul SET OEM=/m:%n%\$OEM$ set ST=X:\Setup.exe if exist %IP%\Setup.exe set ST=%IP%\Setup.exe if not exist %ST% goto :BAD cd /d %IP% %ST% /installfrom:%IN% %OEM% %UN% goto :RBT :BAD dir X:\ /b echo Cannot find %ST% ! echo. :RBT exit @echo Press a key to reboot now... pause wpeutil reboot pause exit  Изменено выделенное красным. НЕ совсем уверен что правильно написал.... Смущает вот это: for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% Ниже используется такая же буква, а я не очень понимаю что оно значит....
								
							 
										 
		
	 | 
 
	 
		 
 
 
 
 
 
Страница 1 из 95 
	
	
		Текущее время: 04-Ноя 09:54 
		Часовой пояс: UTC + 3  
	 
	
 
	
	
		
		Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
  
	 
	 | 
 
 
	 
	 |