| 
    
	
		
		
			| 
			
						
							
								dem0n43
								
						
							
				Стаж: 10 летСообщений: 65Репутация:2[+]   [-]Откуда: ИзЗАДА | 
			
				
				conty9,Папка SDI_Update файлы SDI_R423.exe SDI_x64_R423.exe
 меняются версии после SDI_R как задать переменную на запуск SDI_R???.exe
 |  
	
		
		
			|  | 
			
				
				Опять пригодился Dir. Для произвольного количества символов после sdi_rfor /f "tokens=1" %%a in ('dir /b sdi_r*.exe') do start %%a
 или - для 3-х символов после sdi_r
 for /f "tokens=1" %%a in ('dir /b sdi_r???.exe') do start %%a
 или просто задать переменную
 for /f "tokens=1" %%a in ('dir /b sdi_r???.exe') do set SDIname=%%a
 |  
	
		
		
			| 
			
						
							
								korsak7
								
						
							
				Стаж: 10 летСообщений: 1063Репутация:62[+]   [-] | 
			
				
				в авторском SDI_auto.bat уже так и сделано как  conty9 написал17558conty9,Папка SDI_Update файлы SDI_R423.exe SDI_x64_R423.exe
 меняются версии после SDI_R как задать переменную на запуск SDI_R???.exe
http://nnm-club.me/forum/viewtopic.php?t=936087
 |  
	
		
		
			| 
			
						
							
								SV-2k10
								
						
							
				Стаж: 10 летСообщений: 267Репутация:21[+]   [-] | 
			
				
				Приветствую всех … ребят, у меня при запуске батника не закрывается консольное окно прописал так …Вреде гдето уже спрашивали,… посоветуйте что прописать – спасибо !
								
							 |  
	
		
		
			| 
			
						
							
								SV-2k10
								
						
							
				Стаж: 10 летСообщений: 267Репутация:21[+]   [-] | 
			
				
				korsak7, Привет, этой и запускается.@echo off
 Сами команды отрабатываю нормально, вторая программа запускается после отработки первой, и все отрабатывает хорошо – но вот окно консоли не закрывается …@echo offstart /b /w CCleaner.exe /AUTO
 start /b /w Defraggler.exe
 exit
 |  
	
		
		
			|  | 
			
				
				SV-2k10, а как ты запускаешь бантик? Можно - cmd.exe /c bantic.cmd (закрыть окно после отработки), а можно cmd.exe /k bantic.cmd (не закрывать).
								
							 |  
	
		
		
			|  | 
			
				
				Пустые строчки - не при делах (они игнорируются). По поводу cmd: это интерпретатор комстроки. Чтобы посмотреть его команды, набираем: cmd /?. Запускать бантики через него - порой необходимость (не все программы "знают", что бантик запускается при его помощи - некоторые могут открыть бантик в блокноте, как обычный текст).По поводу SFX: для универсального использования и под х86, и под х64, лучше использовать такую прописку запуска (нужен относительно новый SFX-модуль):
 RunProgram="x86:hidcon:cmd /c start /b /w script.cmd"
 RunProgram="x64:hidcon:cmd /c start /b /w script.cmd"
 вместо (казалось бы, вполне логичного варианта)
 RunProgram="hidcon:cmd /c start /b /w script.cmd"
 Разница в том, что x64:hidcon:cmd - запустит х64-версию cmd. И, соответственно, получит нормальный доступ к папке System32. А вот hidcon:cmd под х64 запустит х86-версию cmd, и будет "видеть" только папку SysWOW64.
 Попутно еще уточню, что даже из х86-версии cmd можно, в принципе, запустить что-то из папки System32 под х64. Но для этого нужно указывать путь к ней иначе:
 cmd /c start %WinDir%\System32\notepad.exe - запустит 32-ю версию notepad.exe (т.е., под х86 - версию из папки System32, а для х64 - версию из папки SysWOW64... и если в последней notepad.exe нет - получим ошибку).
 А вот такой вариант:
 cmd /c start %WinDir%\SysNative\notepad.exe - под х64 запустит 64-ю версию notepad.exe (из папки System32)... но под х86 даст ошибку (папка SysNative отсутствует).
 Простенький универсальный вариант:
 if exist %WinDir%\SysWOW64 (set sys=SysNative) Else (set sys=System32)
 cmd /c start %WinDir%\%sys%\notepad.exe
 
 Последний раз редактировалось: Гость (2016-01-30 12:27), всего редактировалось 3 раз(а)
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 23-Июн-2016 17:02
					(спустя 4 месяца 24 дня)
	
		
		
			| 
			
						
							
								KopBuH91
								
						
							
				Стаж: 10 летСообщений: 382Репутация:55[+]   [-]Откуда: Ташкент | 
			
				
				Выкладываю здесь по просьбе участника форума:Определение параметров загрузки в WinPE (с помощью сценария командной строки) (можно в startnet.cmd):: Определение устройства загрузки (диск/сеть)FOR /F "tokens=3* delims=( " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEBootType') DO SET PEBootType=%%i
 IF "%PEBootType%" == "Ramdisk:SourceIdentified" SET WINPEDEVICE=DISK
 IF "%PEBootType%" == "Ramdisk:SourceUnidentified" SET WINPEDEVICE=WINRE
 IF "%PEBootType%" == "Ramdisk:OpticalDrive" SET WINPEDEVICE=OPTICAL
 IF "%PEBootType%" == "Remote" SET WINPEDEVICE=REMOTE
 :: Определение типа загрузки (BIOS/UEFI/PXE)
 IF "%PEBootType%" == "Ramdisk:SourceIdentified" (FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET PEFirmwareType=%%i)
 IF "%PEBootType%" == "Ramdisk:SourceUnidentified" (FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET PEFirmwareType=%%i)
 IF "%PEBootType%" == "Ramdisk:OpticalDrive" (FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET PEFirmwareType=%%i)
 IF "%PEFirmwareType%" == "0x2" SET WINPEMODE=UEFI
 IF "%PEFirmwareType%" == "0x1" SET WINPEMODE=BIOS
 IF "%PEBootType%" == "Remote" SET WINPEMODE=PXE
 :: Определение IP адреса PXE сервера, с которого был загружен boot.wim (если загрузчик bootmgr от Microsoft)
 IF "%PEBootType%" == "Remote" (FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEBootServerAddr') DO SET PXEServerIP=%%i)
 IF "%PEBootType%" == "Remote" (FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\System\CurrentControlSet\Control /v PEBootServerName') DO SET PXEServer=%%i)
 :: Определение производителя и модели материнской платы
 FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\HARDWARE\DESCRIPTION\System\BIOS /v BaseBoardManufacturer') DO (SET BaseBoardManufacturer=%%i)
 FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\HARDWARE\DESCRIPTION\System\BIOS /v BaseBoardProduct') DO (SET BaseBoardProduct=%%i)
 FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Control\SystemInformation /v SystemManufacturer') DO (SET SystemManufacturer=%%i)
 FOR /F "tokens=3* delims= " %%i in ('reg query HKLM\SYSTEM\CurrentControlSet\Control\SystemInformation /v SystemProductName') DO (SET SystemProductName=%%i %%j)
 :: Запись значений производителя и модели материнской платы в окно свойств системы
 REG add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /t REG_SZ /v Manufacturer /d "%SystemManufacturer% (%BaseBoardManufacturer%)" /f
 REG add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /t REG_SZ /v Model /d "%BaseBoardProduct% / %SystemProductName% (%WINPEARCH% bit / %WINPEMODE%)" /f
 :: Поиск загрузочного носителя (папку-маркер "AdminPE" заменить на свою)
 SET PEBootRamdiskSourceDrive=
 FOR %%d IN (C D E F G H I J K L M N O P Q R S T U V W Y X Z) DO IF EXIST %%d:\AdminPE SET SourceDrive=%%d:
 FOR /F "tokens=1-3 delims== " %%a in ('reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control" /v "PEBootRamdiskSourceDrive" 2^>nul') do (if %%a.==PEBootRamdiskSourceDrive. @set SourceDrive=%%~dc)
 IF "%WINPEDEVICE%" == "REMOTE" SET SourceDrive=X:
 :: Запись локальных переменных в глобальные переменные среды
 SETX SOURCEDRIVE "%SOURCEDRIVE%"
 SETX WINPEDEVICE "%WINPEDEVICE%"
 SETX WINPEMODE "%WINPEMODE%"
 SETX PXESERVER "%PXEServer%"
 SETX PXESERVERIP "%PXEServerIP%"
 SETX BaseBoardManufacturer "%BaseBoardManufacturer%"
 SETX BaseBoardProduct "%BaseBoardProduct%"
 SETX SystemManufacturer "%SystemManufacturer%"
 SETX SystemProductName "%SystemProductName%"
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 27-Мар-2017 08:59
					(спустя 9 месяцев 3 дня)
	
		
		
			| 
			
						
							
								mlevon
								
						
							
				Стаж: 10 летСообщений: 65Репутация:0[+]   [-] | 
			
				
				В скрипте$OEM$\$$\Setup\SCRIPTS\SetupComplete.cmd записи идут start /wait %SystemDrive%\Install\7z32.msi /q такого характера
 пользуясь разделением на разрядность системы,
 Kак правильнее будет, написать в отдельный батник скрипт на разделение разрядности и из setupcomplete.cmd вызывать разделительный батник? Или сразу проверку в setupcomplete.cmd писать проверку на разделение с запуском нужной разрядностиСкрипт запускающий программу в зависимости от разрядности системы.Должен лежать рядом с программой.
 Код:
 @echo off
 if exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe)
 exit
 if exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe)
 Если в системной папке найдена папка SysWOW64 будет запущена программа WinInstaller64.exe, в противном случае WinInstaller32.exe.
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				mlevonОпределение разрядности по SysWOW64 не совсем корректно, более правильно так:
 BAT/CMD для запуска версии программы 32-бит (х86) или 64-бит (х64) -  проверяет разрядность ОС и в зависимости от этого запускает ту или иную версию программы
 set wininst=WinInstaller64.exeif /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 set wininst=WinInstaller32.exe
 start %wininst%
 
 Последний раз редактировалось: nikzzzz (2017-03-27 12:29), всего редактировалось 1 раз
 |  
	
		
		
			| 
			
						
							
								mlevon
								
						
							
				Стаж: 10 летСообщений: 65Репутация:0[+]   [-] | 
			
				
				Ок. Спасибо. И все таки, вернувшись к вопросу. Это писать в отдельном батнике, и его вызывать? Или в мейн батнике сразу?39631mlevonОпределение разрядности по SysWOW64 не совсем корректно, более правильно так if /i %PROCESSOR_ARCHITECTURE%==x86 if not defined PROCESSOR_ARCHITEW6432 (start WinInstaller32.exe) else (start WinInstaller64.exe) |  
	
		
		
			| 
			
						
							
								Joker-2013
								
						
							
				Стаж: 10 летСообщений: 2052Репутация:120[+]   [-]Откуда: из прошлого | 
			
				
				mlevon, писать, где требуется запуск WinInstallerxx.exe...
								
							 |  Страница 2 из 8 
	
	
		Текущее время: 01-Ноя 01:21 Часовой пояс: UTC + 3  
	| 
		
		Вы не можете начинать темыВы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 Вы не можете прикреплять файлы к сообщениям
 Вы можете скачивать файлы
 
 |  |