我试图按字母顺序(按名称)打印环境变量,而我想出的第一件事是:
Get-Item env: | Sort-Object -Property Name
但是输出始终未排序。然后我尝试了以下]]
Get-ChildItem env: | Sort-Object -Property Name
并获得了预期的,正确排序的输出。这表明,即使Get-Item
和Get-ChildItem
的(格式化)输出看起来完全相同(即字典),Get-Item env:
和Get-ChildItem env:
的输出也不属于同一类型。
将命令输出传递到| Get-TypeData
,发现Get-Item env:
似乎实际上仅返回单个System.Collections.DictionaryEntry
,而Get-ChildItem env:
返回多个System.Collections.DictionaryEntry
对象。
有人能解释一下这里到底发生了什么吗?为什么两个看似不同的输入数据类型会产生相同的外观输出/字符串表示形式? PowerShell是否在Get-Item
输出中对单项字典对象进行隐式“拆箱”?
在Windows 10上使用PowerShell 5.1。
我试图按字母顺序(按名称)打印环境变量,而我想出的第一件事是:Get-Item env:| Sort-Object -Property Name但是输出始终为...
tl; dr: