Подсчитывать рубиновые процессы в списке задач и сообщать, изменилось ли количество (или меньше другого числа) в пакетном скрипте

Я хочу подсчитывать рубиновые процессы, выполняющиеся каждые 30 секунд, и, если счетчик изменился, предупредить меня "О НЕТ!" предпочтительно. Спасибо всем!

но я даже не могу заставить это работать ... не равно 50

FOR /F "delims=" %%G IN ('tasklist ^|find /I /C "ruby.exe"')do set count=%%G

IF "%%G"=="50" ECHO OH NO!

timeout /t 10

Мета-переменная FOR работает только в рамках команды FOR. Я дал вам код установки переменной с именем count.

Squashman 10.09.2018 16:17
1
1
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы попытались установить переменную count, но, хотя это все еще было неверно, вы никогда не пытались ее использовать, поэтому давайте установим ее правильно и фактически используем счетчик:

for /f "tokens=1,*" %%a in ('tasklist ^| find /I /C "ruby.exe"') do set count=%%a
if "%count%" equ "50" echo Oh No.
timeout /t 10

Чтобы соответствовать предыдущей переменной, давайте просто сохраним переменную 1, снова запустим проверку через 30 секунд и сравним 2 переменные в цикле.

@echo off
:start
set count=
set count2=
for /f "tokens=1,*" %%a in ('tasklist ^| find /I /C "ruby.exe"') do set count=%%a
timeout /t 30
for /f "tokens=1,*" %%i in ('tasklist ^| find /I /C "ruby.exe"') do set count2=%%i
if "%count%" equ "%count2%" (
  cls
  echo Count the same
  goto :start
   ) else (
   cls
   echo Current count %count2% has changed from %count%
   pause
)

Ой, я вижу, что переменные были настроены неправильно, тоже экв. Спасибо. Я поставлю вам точку, когда у меня будет больше отзывов. работает отлично.

helpme 10.09.2018 21:38

Другие вопросы по теме