| 
    
	
		
		
			| 
			
						
							
								puhpol
								
						
							
				Стаж: 10 летСообщений: 891Репутация:75[+]   [-] | 
			
				
				Скрипт ищет заданную папку на всех дисках, после чего запускает указанную программу с этого диска.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 if exist %%I:\wind set PUH=%%I:@echo offfor %%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 if exist %%I:\wind set PUH=%%I:
 start /w %PUH%\wind\setup64.cmd
Эта строка ищет папку \wind на всех дисках и задает переменную PUH (не понял зачем, но работает и фиг с ним)
 start /w  %PUH%\wind\setup64.cmd
 После того как найден нужный диск запускаем скрипт setup64.cmd с ожиданием его выполнения.--Скрипт запускающий программу в зависимости от разрядности системы.
 Должен лежать рядом с программой.
 if exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe)@echo offif exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe)
 exit
Если в системной папке найдена папка SysWOW64  будет запущена программа WinInstaller64.exe, в противном случае WinInstaller32.exe.--
 @Echo Offcd /D "%~dp0"
 IF EXIST "%ProgramFiles(x86)%" (
 Start /d"%~dp0" WinInstaller64.exe %*
 ) Else (
 Start /d"%~dp0" WinInstaller32.exe %*
 )
 
 Последний раз редактировалось: puhpol (2015-07-13 17:37), всего редактировалось 1 раз
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				Маленькую лепту внесу.Вывод спец. символов в консоль или файл
 set str="123^123<123>123%%123(123)123|123"for /f %%a in (%str%) do echo:%%a
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 02-Окт-2015 13:47
					(спустя 3 месяца 20 дней)
	
		
		
			| 
			
						
							
								zxen
								
						
							
				Стаж: 10 летСообщений: 263Репутация:21[+]   [-]Откуда: Siberia | 
			
				
				Данный cmd, перемонтирует диск с которого он запущен, на другую букву, в данном случае на k:@echo offcd /d c:
 for /f "tokens=*" %%a in (' mountvol %~d0 /l ') do ( mountvol %~d0 /d & mountvol k: %%a & exit )
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 16-Янв-2016 21:56
					(спустя 3 месяца 14 дней)
	
		
		
			| 
			
						
							
								puhpol
								
						
							
				Стаж: 10 летСообщений: 891Репутация:75[+]   [-] | 
			
				
				Приветствую господа!Опять прошу помощи по скриптам..... (я честно пытался сам разобраться,
 меня вводят в ступор....но такие выраженияnot Задает выполнение команды только в случае невыполнения условия. errorlevel число Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа. команда Команда, которая должна быть обработана в случае выполнения условия. строка1==строка2 Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки. exist имя_файла Условие выполняется, если существует файл с именем имя_файла. оп_сравнения Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения.Задача: При установки ВИНДОВС нужно запустить программу только в редакции STARTER. (интеграция в WIM файл - не удобна)
 В скрипте активатора нашел такие строки:
 И если мои догадки верны, скрипт должен выглядеть так:REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i BASICIF NOT ERRORLEVEL 1 CSCRIPT %WinDir%\system32\slmgr.vbs -ipk 36T88-RT7C6-R38TQ-RV8M9-WWTCY
 REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i STARTER
 IF NOT ERRORLEVEL 1 CSCRIPT %WinDir%\system32\slmgr.vbs -ipk 36Q3Y-BBT84-MGJ3H-FT7VD-FG72J
Вопрос:Я правильно понимаю? Такое вообще возможно? или я сам себе на фантазировал.......REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i STARTERIF NOT ERRORLEVEL 1 START /b /w data\Panel.exe
 |  
	
		
		
			| 
			
						
							
								rbskin
								
						
							
				Стаж: 10 летСообщений: 35Репутация:0[+]   [-] | 
			
				
				Приветствую!Господа. В чем ошибка? При такой записи - работает
 FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\_Soft.Port\ start """"  %%i:\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 & exit
 а в этом случае - тишина
 set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1
 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 dir %%I:%MyName%&&start "" "%%I:%MyName%"&&exit
 echo УВЫ, ничего не найдено!
 exit
 |  
	
		
		
			| 
			
						
							
								SunOK
								
						
							
				Стаж: 10 летСообщений: 352Репутация:32[+]   [-]Откуда: Україна, Перлина Поділля | 
			
				
				rbskin, возможные варианты ашипок:1. Пробел в кавычках (сужу по сообщению)2. Ключ -ai1 мешает выполнению команды dir.
 3. Допустимо ли для команды dir использование имени файла в переменной? (сам не знаю)
 
 Последний раз редактировалось: SunOK (2016-01-19 20:19), всего редактировалось 1 раз
 |  
	
		
		
			| 
			
						
							
								puhpol
								
						
							
				Стаж: 10 летСообщений: 891Репутация:75[+]   [-] | 
			
				
				Судя по написанному выше имя файла можно. А вот ключ я бы точно не там писал....175183. Допустимо ли для команды dir использование имени файла в переменной? (сам не знаю)set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe
 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 dir %%I:%MyName%&&start -ai1 """"%%I:%MyName%"&&exit
 echo УВЫ, ничего не найдено!
 exit
 Хотя меня в данном случае слушать не стоит, еще тот скриптописец.....
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 19-Янв-2016 22:02
					(спустя 1 час 46 минут)
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				Чтобы не перебирать все буквы@echo offfor /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives ^| more') do set drivers=%%b
 echo %drivers%
 for %%a in (%drivers%) do echo %%a
 |  
	
		
		
			| 
			
						
							
								rbskin
								
						
							
				Стаж: 10 летСообщений: 35Репутация:0[+]   [-] | 
			
				
				nikzzzzПриветствую!
 Обе записи (приведены выше) работают при ссылке на .exe файл,
 а при добавлении ключа вторая запись не хочет.
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				rbskin,Можно попробовать так
 @echo offset MyName=_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe
 for /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives ^| more') do set drives=%%b
 1>nul 2>&1 (for %%a in (%drives%) do (dir "%%a%MyName%") && (start "" "%%a%MyName%" -ai1) && goto :eof)
 echo УВЫ, ничего не найдено!
 goto :eof
 |  
	
		
		
			| 
			
						
							
								sergeysvirid
								
						
							
				Стаж: 10 летСообщений: 2673Репутация:127[+]   [-]Откуда: 65 регион (GMT+11) | 
			
				
				Может быть в том, что в пути у Вас после буквы диска и перед переменной не стоит символа обратного слэша "\"17516В чем ошибка? При такой записи - работаетFOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\_Soft.Port\ start """" %%i:\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 & exit
 а в этом случае - тишина
 set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1
 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 dir %%I:%MyName%&&start "" "%%I:%MyName%"&&exit
 echo УВЫ, ничего не найдено!
 exit
да и как писалось выше ключик ai1 наверное не там указывать надо.
 Я такой же скриптописец, как и puhpol
  , но попробуйте вот так: set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe
 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 dir "%%I:\%MyName%"&&start "" /w -ai1 -gm2 "%%I:\%MyName%"&&exit
 |  
	
		
		
			| 
			
						
							
								nikzzzz
								
						
							
				Стаж: 10 летСообщений: 3114Репутация:127[+]   [-] | 
			
				
				Да ошибка в том, что ищется файл с именем "PartitionWizard.exe -ai1", а не "PartitionWizard.exe", а такого файла естественно нет.    Ну, и слеша не хватает.
 |  
	
		
		
			| 
			
						
							
								rbskin
								
						
							
				Стаж: 10 летСообщений: 35Репутация:0[+]   [-] | 
			
				
				nikzzzzsergeysvirid
 Приветствую! Попробовал варианты.
 УВЫ, ничего!
 |  
	
								![Ответить с цитатой [Цитировать]](./styles/templates/default/images/lang/ru/icon_quote.gif)  
		 		Отправлено: 20-Янв-2016 12:19
					(спустя 1 час 18 минут)
	
		
		
			|  | 
			
				
				set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exefor %%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 dir "%%I:%MyName%"&&start "" "%%I:%MyName%" -ai1&&exit
 |  
	
		
		
			| 
			
						
							
								rbskin
								
						
							
				Стаж: 10 летСообщений: 35Репутация:0[+]   [-] | 
			
				
				conty9Приветствую!
 Спасибо за ответ.
 Теперь все прекрасно работает.
 |  Страница 1 из 8 
	
	
		Текущее время: 31-Окт 18:39 Часовой пояс: UTC + 3  
	| 
		
		Вы не можете начинать темыВы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 Вы не можете прикреплять файлы к сообщениям
 Вы можете скачивать файлы
 
 |  |