1 (изменено: alexii, 2013-02-22 14:56:36)

Тема: CMD/BAT: сравнить кол-во процессов

Здравствуйте.

Нужно посчитать кол-во процессов scktsvrv и если их больше 20, то выполнить действие.
Проблема - как в взять значение find /C в переменную?

tasklist | find /C "notepad"

if errorlevel 1 goto err
goto end
:err
echo OK > c:\ok.txt
exit
:end

2

Re: CMD/BAT: сравнить кол-во процессов

@echo off
setlocal enableextensions enabledelayedexpansion

set sImageName=scktsvrv.exe

for /f "usebackq delims=" %%i in (
    `tasklist.exe /fi "ImageName eq %sImageName%" /nh 2^>nul ^| find.exe /i /c "%sImageName%"`
) do set /a iCount = %%i

if defined iCount if %iCount% gtr 20 (
    echo [%iCount% - More then 20]
) else (
    echo [%iCount% - Less then 20]
)

endlocal
exit /b 0