Как продолжить пакетный файл, только если запущен процесс - PullRequest
0 голосов
/ 03 июня 2010

Мне удалось удержать пакетный файл до завершения процесса. Но как мне удерживать пакетный файл до тех пор, пока не начнется процесс?

Я работаю, используя следующий код:

@echo off

set process_1="calc.exe"
set process_2="mmc.exe"
set ignore_result=INFO:
set no_ignore=mmc.exe

:1
for /f "usebackq" %%M in (`tasklist /nh /fi "imagename eq %process_1%"`) do if not %%M==%ignore_result% goto 1
:2
for /f "usebackq" %%N in (`tasklist /nh /fi "imagename eq %process_2%"`) do if not %%N==%no_ignore% goto 2

echo Stuff finished.......

Все, что я получаю, когда программа не запущена, это «ИНФОРМАЦИЯ: Нет задач, выполняемых с указанными критериями»

Заранее спасибо

S

1 Ответ

1 голос
/ 02 сентября 2010

Перенаправьте ошибку (2) на стандартный вывод (1):

<code>@echo off</p>

<p>set process_1="calc.exe"
set process_2="mmc.exe"
set ignore_result=INFO:
set no_ignore=mmc.exe</p>

<p>:1
for /f "usebackq tokens=1" %%M in (<code>tasklist /nh /fi "imagename eq %process_1%" 2^>^&1</code>) do if not %%M==%ignore_result% goto 1
:2
for /f "usebackq tokens=1" %%N in (<code>tasklist /nh /fi "imagename eq %process_2%" 2^>^&1</code>) do if not %%N==%no_ignore% goto 2</p>

<p>echo Stuff finished.......
Вы также можете использовать функцию sleep (ищите с помощью команды ping).
...