我想知道如何检查是否存在使用批处理文件运行的多个可执行实例,我已经查看了“tasklist”,尽管似乎没有选项可以执行此操作。
E.g. if test.exe is running x2
echo program is running twice
else one of less instance of program running
答案 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.