コマンドラインからすべての環境変数を一覧表示します


934

Windowsのコマンドプロンプトからすべての環境変数を一覧表示することはできますか?

PowerShell gci env:(またはls env:or dir env:)と同等のもの。


1
誰かがPowerShellソリューションを共有できますか?それは未来とすべてであることになっています。正しい?
Bruno Bronosky 2016

1
@BrunoBronosky PSソリューションが質問に含まれ、それを繰り返す答えもあります=)
Jon

それぞれの説明については、ss64.com / nt / syntax
Samuel Harmer

回答:


1354

ただやる:

SET

SET prefix名前がで始まるすべての変数を表示することもできますprefix

たとえば、環境変数からderbydbのみを読み取りたい場合は、次のようにします。

set derby 

...そしてあなたは以下を得るでしょう:

DERBY_HOME=c:\Users\amro-a\Desktop\db-derby-10.10.1.1-bin\db-derby-10.10.1.1-bin

7
名前の入力を求められますか?
CMCDragonkai 2013年

53
@KevinMeredith:Windowsシェルのすべてのコマンドは大文字と小文字を区別しません。
Jon

12
@CMCDragonkaiはPowerShellを使用していますか?コマンドレットの1つを使用してセットを攻撃したようです。これはあまり役に立たない機能の1つです。ここで
JonnyRaa

3
誰かがこれをPowerShellソリューションを含めるように更新できますか?それは未来とすべてであることになっています。正しい?
Bruno Bronosky 2016

3
@NickTimmer Windowsシェルの代わりにbashと話しているので、これは間違った質問/答えです。見てくださいprintenv
Jon

167

ジョンは正しい答えを持っていますが、構文上の砂糖でもう少し詳しく説明します。

SET | more

ロット全体ではなく、一度に1ページずつ変数を表示できます。

SET > output.txt

メモ帳などで開くことができるファイルoutput.txtに出力を送信します...


7
私はmoreWindowsに存在する考えを持っていなかった、+ 1
ardnew

実際には一部の関数にも組み込まれています。たとえば、Dirは/ pでページングします。
John Lord、

@ardnew:これで詳細がわかります;-)
user2943111

107

PowerShellですべての環境変数を一覧表示するには:

Get-ChildItem Env:

または、出力の切り捨てを回避するためにuser797717によって提案されたとおり:

Get-ChildItem Env: | Format-Table -Wrap -AutoSize

ソース:環境変数の作成と変更Windows PowerShellの今週のヒント


4
PowerShellを使用しない場合でも、すべてのcmdコマンドで機能するわけではないので、これは大きな努力なしに(2列で)きれいに印刷する唯一のソリューションです。cmdで同じ動作を実現するには、次のようなfor /f "tokens=1,2 delims==" ...ものが非常に複雑になる必要があります...
ROMANIA_engineer

6
:避け出力が切り捨てられることに、私は次の使用しますGet-ChildItem Env: | Format-Table -Wrap -AutoSize
user797717

1
gci env:代わりにGet-ChildItem Env:、覚えやすい
matson kepson

パーフェクト!正直に言うと、これがトップアンサーではない理由がわかりません:/編集:ああ、ちょっと待ってください。元の質問は、Powershellでそれを行う方法ではなく、昔ながらの方法でしたコマンドプロンプト:D
Yoeri Van Nieuwerburg

79

単にsetから実行しcmdます。

環境変数を表示、設定、または削除します。パラメータなしで使用すると、setは現在の環境設定を表示します。


11

SETcmdで使用できます

現在の変数を表示するにSETは、それで十分です

'PATH'などの特定の変数を表示するには、を使用しますSET PATH

ヘルプを参照するには、と入力してくださいset /?


2
これは既存の回答とどう違うのですか?
Peter Mortensen

7

時間を無駄にしないでください。レジストリでそれを検索します。

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

SETコマンドより少ない値を返します。


2
それは本当かもしれませんが、1つの違いは、レジストリクエリが展開されていないREG_EXPAND_SZキーを返すことです。たとえばreg query "HKCU\Environment"%TEMP%変数がの値に依存することを示しています。%USERPROFILE%その値が変化すると、の値も変化し%TEMP%ます。対照的に、SETただ戻る"C:\Users\mpag\AppData\Local\Temp"
mpag 2017

1
なぜ「時間を無駄にしないでください」と言うのですか?コマンドプロンプトで「set」と入力すると、「reg query ...」よりも速く表示されませんか?
Alexandre Huat

4

設定したばかりの環境変数を表示するには、新しいコマンドウィンドウを開く必要があります。

setx変数で設定された変数は、現在のコマンドウィンドウではなく、将来のコマンドウィンドウでのみ使用できます。(Setx、例


4

他の回答で述べたように、を使用setしてすべての環境変数をリストするか、

set [environment_variable] 特定の変数とその値を取得します。

set [environment_variable]= ワークスペースから変数を削除するために使用できます。


1
はい、しかし、これはどのように質問に答えますか?
Peter Mortensen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.