batch file – 如何检查是否有多个进程正在运行的实例?

我想知道如何检查是否有多个使用batch file运行的可执行文件的实例,我已经看过“tasklist”,虽然似乎没有做到这一点。

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

wmic和find实用程序的组合似乎可以做到这一点:

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

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

要保存这个变量,你可以使用这个:

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。