检查批处理程序正在运行的程序数

时间:2014-11-28 02:37:36

标签: windows batch-file cmd

是否可以通过批处理文件检查程序的运行程度?

我制作了一个用于选项卡的程序,这是代码:
    :1 timeout /t 2 start chrome.exe start chrome.exe start chrome.exe start chrome.exe timeout /t 7 taskkill /f /im chrome.exe goto :1

但是这个程序有时会在关闭之前打开4个以上的chrome副本,最多8个。是否有一个我可以使用的命令,它会说有多少程序是打开的?有点像下面:
    @echo off :1 start chrome.exe if "4 of chrome.exe are open" goto :2 else goto :1 :2 timeout /t 7 taskkill /f /im chrome.exe timeout /t 2 goto :1

在我放入代码所在的所有空格之前,我一直在收到错误信息,说它格式不正确,为什么要这样做?

1 个答案:

答案 0 :(得分:0)

处理chrome的流程很困难,因为它通常会为每个插件(附加组件)创建一个单独的流程。但回答你的问题:

  

是否有一个我可以使用的命令,它会说有多少程序是打开的?

是的,您可以看到目前有多少个具有相同名称的进程已打开:

tasklist|find /c "chrome.exe"

要在if语句中使用此功能,您可以执行以下操作:

for /f %%a in ('tasklist^|find /c "chrome.exe"') do (set chromeProcesses=%%a)
if "%chromeProcesses%" == "4" (do something...)