Пакетные файлы - Как проверить, есть ли несколько экземпляров запущенного процесса? - PullRequest
2 голосов
/ 15 июня 2011

Мне было интересно, как вы будете проверять, есть ли несколько экземпляров исполняемого файла, запущенного с использованием командного файла, я взглянул на «список задач», хотя, похоже, нет возможности сделать это.

E.g. if test.exe is running x2
echo program is running twice
else one of less instance of program running

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Комбинация wmic и утилиты find, кажется, добиваются цели:

wmic process where name="test.exe" | find "test.exe" /c

Сначала мы перечисляем все процессы с именем "test.exe", а затем с помощью утилиты find.exe считаем эти строки. Эта команда вернет точное количество запущенных процессов с именем "test.exe".

1 голос
/ 17 марта 2017

Чтобы сохранить переменную, вы можете использовать это:

set cmdcount = "wmic process, где name =" cmd.exe "| найти" cmd.exe "/ c" FOR / F "tokens = *"%% i IN ('% cmdcount%') DO SET X = %% i

По какой-то причине переменная X равна 2, когда работает только 1 файл cmd, но он все еще работает, потому что если вы запустите файл2 раза х = 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...