我正在使用命令 wmic process get caption,virtualsize ,它返回2列。我想基于virtualsize参数以排序的方式格式化输出。我试图在powershell中运行命令并使用sort-object cmdlet,但看起来wmic没有返回powershell可以处理的系统对象。 实际用例它获取前5个内存消耗过程的名称。对此有任何帮助都很明显。
答案 0 :(得分:1)
wmic
是WMI的命令行界面,旨在用于CMD
。它的输出是一个字符串数组,如果要按特定字段对输出进行排序,则必须将字符串转换为对象数组。虽然这是可能的,但它完全没有意义,因为PowerShell有一个cmdlet Get-WMIObject
,提供与wmic
相同的功能,但已经生成了可以通过管道输入Sort-Object
cmdlet的对象:
Get-WMIObject Win32_Process |
Select-Object Caption, VirtualSize |
Sort-Object VirtualSize
或更短:
gwmi Win32_Process | select Caption, VirtualSize | sort VirtualSize