我想知道如何检查是否有多个使用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。