使用WMIC获取进程窗口标题提示列表表达式无效如何解决?
问题原因
- 原命令缺少管道符
|,系统误将find命令识别为wmic的参数,因此触发列表表达式无效报错 wmic process list brief的默认返回字段不包含窗口标题,即使修复管道符也无法拿到所需结果
可用WMIC解决方案
方案1:直接使用WMIC内置过滤(推荐)
直接通过wmic的where子句过滤进程,同时指定返回窗口标题字段,无需额外管道传递:
wmic process where "name='spotify.exe'" get ProcessName,MainWindowTitle
返回结果第二列即为对应spotify进程的窗口标题,进程最小化无前台窗口时该字段可能为空
方案2:搭配find命令过滤
如果习惯使用find做字符串匹配,可执行以下命令:
wmic process get ProcessName,MainWindowTitle | find "spotify.exe"
补充说明
- 如果在PowerShell环境下执行上述命令,where子句的双引号可省略,直接写为
wmic process where name='spotify.exe' get ProcessName,MainWindowTitle - 存在多个spotify进程时,命令会返回所有匹配进程的对应信息
内容的提问来源于stack exchange,提问作者user13050631
相关产品推荐
相关产品推荐

