ida*_*hmu 7 cmd tasklist filter find
我正在使用tasklist命令。
我正在尝试使用该/fi选项来过滤多个 PID。
tasklist.exe /v /fi "PID eq 3248" /fi "PID eq 9488"
INFO: No tasks are running which match the specified criteria.
这不起作用。我只能假设过滤器是使用逻辑与在内部评估的,显然永远不会为真。
如何按多个PID过滤?
如果我单独运行它,结果是可以的,我可以设置进程信息。然而,
tasklist.exe /v /fi "PID eq 3248"tasklist.exe /v /fi "PID eq 9488"我想避免激活两个单独的命令。
用 find
tasklist.exe /v | find /i "9488"
Run Code Online (Sandbox Code Playgroud)
这带来了以下问题:
tasklist无法过滤多个 PID。因此使用完整输出并使用另一种方法进行过滤:
用作csv输出格式;PID是token2,windowtitle是token9。
findstr能够搜索多个字符串(此处用空格分隔)。
/x检查“完整行”,因此45不会匹配3456。
>nul抑制输出findstr(我们只需要错误级别,而不是实际输出)
&&充当“如果上一个命令(findstr)成功,则...”
@echo off
for /f "tokens=2,9 delims=," %%a in ('tasklist /v /fo csv') do (
echo %%~a|findstr /x "3248 9488" >nul && echo %%~a %%~b
)
Run Code Online (Sandbox Code Playgroud)