Перейти к содержанию

Как заставить bat-файл ждать завершение определенного процесса и выполнение следующей команды? [Решено]


Рекомендуемые сообщения

Как заставить bat-файл ждать завершение определенного процесса и выполнение следующей команды?

У одной устанавливаемой программы есть дочерние процессы.

Получается так, что батник уже начинает выполнять следующие команды нарушая порядок.

Возможно ли реализовать ожидание установки программы, зная имя дочернего процесса: *.tmp

Например:

1. Запускается программа.

2. Проводится проверка - запущен ли процесс (*.tmp), если да, то батник ждет его завершения и только после этого выполняет следующее действие.

3. Запускается другой файл: *.cmd

Спасибо за ответ.

Ссылка на комментарий

Cougar

Я не понял как быть с дочерним процессом *.tmp?

К примеру запускается

1. start /wait 1.exe

Но у него есть дочерний процесс 1.tmp, сам же 1.exe в диспетчере лишь мигнет и запускает 1.tmp.

И тогда выполняется следующая команда

2. start /wait 2.exe

Но как этого избежать?

Необходимо создать командный файл, который бы проверял есть ли процесс *.tmp, дожидался бы его окончания и только потом запускал 2.exe

Ссылка на комментарий
@echo off
set process=1.tmp
start /wait 1.exe
goto checker
:check
cls
echo Process %process% is still running...
:checker
tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul
if %errorLevel% == 0 goto :check
rem процесс 1.tmp был завершен, можно запускать следующий файл
start /wait 2.exe
pause

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...