如何解决是否可以按属性降序对对象进行排序并仍然显示相应的值?
$procs = Get-Process
$procs[0] | GM -MemberType Property
这将按升序给出所有属性。现在,我想按降序显示属性,但使用它的值。自己对属性进行排序很容易...
$procs[0] | GM -MemberType Property | Select-Object Name | Sort-Object -Descending -Property Name
...但是这不会显示相应的值。
我还可以按降序对一个属性的值进行排序,但不能按属性本身排序。
编辑:这是一个屏幕截图,可以更好地说明我想要实现的目标:
您在此处看到的是 Get-Process | Where-Object { $_.Name -like "a*" } | Export-Csv -Path "$env:USERPROFILE\Desktop\example.csv"
如您所见,属性未排序。我希望能够准确输出屏幕截图显示的内容,但属性列及其对应的值按降序排序,即 WS、VM、SI、PM、NPM、名称、句柄。
我希望我现在能够清楚地解释它。
感谢您的帮助。
解决方法
发生这种情况是因为,毕竟在您的管道中结果是带有字符串的哈希表。 将结果保存在变量中并像这样将其放入管道中,通过将属性名称放在变量后的“点符号”中来详细显示每个属性
$propertys = (get-process)[0] | GM -MemberType Property | Select-Object Name | Sort-Object -Descending -Property Name
($propertys.NAME) | %{(get-process)[0].$_}
或使用 FL 使用简短的属性表示
(get-process)[0] | fl $($propertys.Name[0..$propertys.Count])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。