批处理文件 - 如何检查进程的多个实例是否正在运行?

时间:2011-06-15 13:38:17

标签: windows batch-file

我想知道如何检查是否存在使用批处理文件运行的多个可执行实例,我已经查看了“tasklist”,尽管似乎没有选项可以执行此操作。

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

2 个答案:

答案 0 :(得分:2)

wmic和find实用程序的组合似乎可以解决问题:

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

首先,我们列出名为“test.exe”的所有进程,然后使用find.exe实用程序计算这些行。此命令将返回名称为“test.exe”的运行进程的确切数量。

答案 1 :(得分:1)

要保存变量,您可以使用:

set cmdcount =“wmic process where name =”cmd.exe“| find”cmd.exe“/ c” FOR / F“tokens = *”%% i IN('%cmdcount%')DO SET X = %% i

出于某种原因,当只有1 cmd文件正在运行时,X变量等于2但它仍然有效,因为如果你运行该文件2次x = 3.

相关问题