我需要在运行时在PowerShell脚本中显示所有已配置的环境变量。通常在显示环境变量时,我可以在shell中使用以下其中一种(除了其他技术,但这些很简单):
gci env:*
ls Env:
但是,我从另一个程序调用了一个脚本,当我在脚本中使用上述调用之一时,而不是显示环境变量及其值,而是获取System.Collections.DictionaryEntry
的列表类型而不是变量及其值。在PowerShell脚本中,如何显示所有环境变量?
答案 0 :(得分:93)
更短的版本:
gci env:* | sort-object name
这将显示名称和值。
答案 1 :(得分:19)
最短版本(变量按名称排序):
gci env:
答案 2 :(得分:13)
我终于通过遍历字典中的每个条目来摸索我的方式:
(gci env:*).GetEnumerator() | Sort-Object Name | Out-String
答案 3 :(得分:1)
我认为所提供的答案均与问题无关。 OP正在获取对象类型的列表(每个成员都相同),而不是实际的变量名称和值。 这就是您所追求的:
gci env:* | select Name,Value
简称:
Get-ChildItem Env:* | Select-Object -Property Name,Value
答案 4 :(得分:0)
带有通配符过滤器的简短版本:
gci env: | where name -like 'Pro*'