![PowerShell:格式化和排序环境变量](https://linux22.com/image/723169/PowerShell%EF%BC%9A%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%92%8C%E6%8E%92%E5%BA%8F%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F.png)
使用 PowerShell 我可以获取所有(当前进程)环境变量并对其进行格式化和排序:
gci env: | %{"{0}={1}" -f $_.Name,$_.Value} | sort
这使:
a=foo
b=bar
c=baz
但这给出了所有流程变量,而我只想要用户变量,所以我这样做:
[Environment]::GetEnvironmentVariables("User") | %{"{0}={1}" -f $_.Name,$_.Value} | sort
但它只输出以下内容:
=
作品[Environment]::GetEnvironmentVariables("User")
,以及之后的东西,都是问题。
答案1
问题是它[Environment]::GetEnvironmentVariables("User")
返回的是哈希表,而不是对象集合。有几种方法可以得到你想要的。下面是其中一种:
([Environment]::GetEnvironmentVariables("User")).GetEnumerator() | %{'{0} = {1}' -f $_.Key, $_.Value}