I'm using tasklist
command.
I'm trying to use the /fi
option to filter multiple PIDs.
Attempt
tasklist.exe /v /fi "PID eq 3248" /fi "PID eq 9488"
Result
INFO: No tasks are running which match the specified criteria.
This doesn't work. I can only assume the filters are evaluated internally using logical-and and obviously would never be true.
Question
How to filter by multiple PIDs?
Ugly alternative 1
If I run it separately, the result are OK and I can set the process information. However,
tasklist.exe /v /fi "PID eq 3248"
tasklist.exe /v /fi "PID eq 9488"
I'd like to refrain activating two separate commands.
Ugly alternative 2
use find
tasklist.exe /v | find /i "9488"
Which brings the questions:
- How to I find multiple PIDs?
- How to make sure the found strings are really the PID and NOT anything else.
Best Answer
tasklist
is not able to filter to several PIDs. So use full output and use another method to filter:use
csv
as output format; PID is token2, windowtitle is token9.findstr
is able to search for more than one string (separated by spaces here)./x
checks "complete line", so45
would not match3456
.>nul
supresses output offindstr
(we need only the errorlevel, not the actual output)&&
acts as "if previous command (findstr) was successful, then..."