![]() |
Анализ процессов в диспетчере задач через BAT
Вложений: 1
здравствуйте
У меня сейчас реализован bat файл, который анализирует количество запущенных процессов и если их меньше определенного колва, то стартует необходимый. Но возникла необходимость дополнительного анализа, прежде чем стартовать новый процесс. Анализ необходимо осуществлять по колонке "Command line" (такую можно вывести в дистпетчере задач Винды). Подскажите, как можно анализировать эту колонку? те если колво процессов меньше определенного колва и комманд лайн у запущенных не равна определенной константе, то стартовать новый процесс. Ниже привожу мой батник на примере calc.exe, а также принт-скрин доп. колонки для анализа: @echo on set logfile="C:\BAT\Test\stopstartlog.txt" setlocal enableextensions enabledelayedexpansion set sFileName=calc.exe for /f "usebackq delims=" %%i in (`tasklist.exe /nh /fi "IMAGENAME eq %sFileName%" ^| 2^>nul find.exe /i "%sFileName%" ^| find.exe /c /v ""`) do if %%i lss 2 (start calc.exe) endlocal pause Заранее большое спасибо! |
Sargezzz,
при таком раскладе их надо как-то сортировать например запущено 10 процессов chrome и 10 notepad, а вроде как 2 всего по большому счету, т.е. закрыть по 1 дочернему - мало что меняется, а по одному одноименному основному - закроется 20, понимаете что имеется ввиду? |
Цитата:
Код:
(gwmi win32_process -filt "name='имя_процесса.exe'").commandline |
Sargezzz, майнер автоматизируете, что ли?
Код:
@echo off |
Iska, очень здорово) спасибо. Я прям очень многому учусь у Вас!!!) спасибо! А подскажите, пожалуйста, на будущее, можно ли искать еще, к примеру, по подтроке в CommandLine? например, на наличие в строке CommanLine символов "calc.exe" или "else.exe" ???
|
Цитата:
Код:
… where "Name = 'calc.exe' and CommandLine like '%%calc.exe%%'" … |
Время: 01:53. |
Время: 01:53.
© OSzone.net 2001-