実行中のPowerShellスクリプトからすべての環境変数を表示する


104

構成されたすべての環境変数を実行時にPowerShellスクリプトで表示する必要があります。通常、環境変数を表示するときは、シェルで次のいずれかを使用できます(他の手法の中でも特に簡単です)。

gci env:*
ls Env:

ただし、別のプログラムからスクリプトが呼び出されており、スクリプトで上記の呼び出しのいずれかを使用すると、環境変数とその値が表示されるSystem.Collections.DictionaryEntry代わりに、変数とその値の代わりに型のリストが表示されます。PowerShellスクリプト内で、すべての環境変数を表示するにはどうすればよいですか?

回答:


156

短いバージョン:

gci env:* | sort-object name

これにより、名前と値の両方が表示されます。


1
それがなぜそのように振る舞うのか、そしてあなたのコマンドがそれをどのように修正するのか説明してくれませんか?
David FerenczyRogožan18年

3
env簡単すぎたからです。M $人をくそー。
matcheek


14

最後に、辞書の各エントリを繰り返し処理することで、解決策を見つけました。

(gci env:*).GetEnumerator() | Sort-Object Name | Out-String

Linuxでは動作しません。gci子アイテムを入手するために行方不明ですか?
Thufir

私はこれをpowershellコアで試していませんが、gciは私の答えにあります。この質問は[powershell]に対するものであり、[powershell-core]に対するものではないことに注意してください。そのため、後者のソリューションは機能しない可能性があります。
Bender the Greatest

7

ワイルドカードフィルター付きのショートバージョン:

gci env: | where name -like 'Pro*'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.