0

Надеюсь, что вопрос короткий. Я устанавливаю набор драйверов в сценарии без присмотра. Один из драйверов (Intel USB3 Drivers) запускает приложение Windows Driver Finder («drvinst.exe») после его завершения, а затем, когда драйверы nVidia Drivers пытаются запустить, они отменяются, потому что этот Wizard работает в фоновом режиме.Командная строка - Ждите завершения процесса.

:INSTALLLAPTOP79 
.\ELAN\Touchpad\Setup.exe /s /a /s 
.\Intel\Chipset\Setup.exe -s -norestart 
.\Intel\Graphics\Setup.exe -s 
.\Intel\MEI\Setup.exe -s 
.\Intel\USB3\Setup.exe -s 
.\Realtek\Audio\Setup.exe /s 
.\Realtek\CardReader\Setup.exe /s 
TIMEOUT 180 
.\nVidia\Graphics\Setup.exe -n -s 
GOTO :INSTALLLAPTOPWIFI 

Текущий код указан выше - но он не очень элегантный. В принципе, если система медленнее, чем «нормальная», то она будет терпеть неудачу, так как 180 секунд недостаточно. Я мог бы просто увеличить эту ценность, но это бесполезно для меня. Я в основном ищу способ сделать «проверку», чтобы проверить, все еще работает «drvinst.exe», и если так дождаться установленного периода, повторите проверку.

Любые идеи?

ответ

0
@ECHO OFF 
SETLOCAL 

notepad 

:waitloop 

TASKLIST /fi "imagename eq notepad.exe" >NUL 
IF ERRORLEVEL 1 timeout /t 1 /n&GOTO waitloop 

GOTO :EOF 

Купить Простой способ оплаты notepad.exe Чтобы закрыть, Адаптировать, как вы ...

@ECHO OFF 
SETLOCAL 

notepad 

:waitloop 

TASKLIST |find "notepad.exe" >NUL 
IF ERRORLEVEL 1 timeout /t 1 /n&GOTO waitloop 

GOTO :EOF 

должен работать также

+0

ОК, поэтому я запустил 'TASKLIST 'find" drvinst.exe " ECHO% ERRORLEVEL%', а команда Tasklist правильно идентифицирует процесс, но уровень ошибки вышел как 0. Любые идеи? –

0

Это не гарантируется (зависит от того, как монтажники запустить драйвер-искатель), но:

start /wait command... 

может сделать Хитрость. Имейте в виду, что если команда будет выполняться содержит пробелы, и должен быть заключен в двойные кавычки, вам нужно:

start /wait "" "c:\program files\something\..." 

в противном случае он будет принимать команду в качестве заголовка командной строки.

+0

Спасибо - попробовал это - к сожалению, установка завершена, а команда wait игнорирует запускавшийся drvinst.exe. –

Смежные вопросы