Alker Опубликовано 5 июля, 2012 Жалоба Опубликовано 5 июля, 2012 Как заставить bat-файл ждать завершение определенного процесса и выполнение следующей команды?У одной устанавливаемой программы есть дочерние процессы.Получается так, что батник уже начинает выполнять следующие команды нарушая порядок.Возможно ли реализовать ожидание установки программы, зная имя дочернего процесса: *.tmpНапример:1. Запускается программа.2. Проводится проверка - запущен ли процесс (*.tmp), если да, то батник ждет его завершения и только после этого выполняет следующее действие.3. Запускается другой файл: *.cmdСпасибо за ответ.
Alker Опубликовано 6 июля, 2012 Автор Жалоба Опубликовано 6 июля, 2012 CougarЯ не понял как быть с дочерним процессом *.tmp?К примеру запускается1. start /wait 1.exeНо у него есть дочерний процесс 1.tmp, сам же 1.exe в диспетчере лишь мигнет и запускает 1.tmp.И тогда выполняется следующая команда2. start /wait 2.exeНо как этого избежать?Необходимо создать командный файл, который бы проверял есть ли процесс *.tmp, дожидался бы его окончания и только потом запускал 2.exe
D_Master Опубликовано 6 июля, 2012 Жалоба Опубликовано 6 июля, 2012 @echo offset process=1.tmpstart /wait 1.exegoto checker:checkclsecho Process %process% is still running...:checkertasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nulif %errorLevel% == 0 goto :checkrem процесс 1.tmp был завершен, можно запускать следующий файлstart /wait 2.exepause
Alker Опубликовано 11 июля, 2012 Автор Жалоба Опубликовано 11 июля, 2012 Спасибо, D_Master.Все отлично работает!
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти