Windows PowerShell で PATH 環境変数を設定する方法
-
Windows PowerShell で
PATH
環境変数を設定するために$Env:PATH
を使用する -
Windows PowerShell で
PATH
環境変数を設定するために[Environment]
メソッドを使用する

PATH
変数は、オペレーティングシステムがコマンドラインインターフェースから実行可能ファイルを見つけるために使用するシステム環境変数です。これは通常、さまざまなプログラミング言語を使用してさまざまなプログラムを開発する際に使用します。しかし、PowerShell 環境内でこれを設定するのはかなり異なります。
Windows PowerShell で PATH
環境変数を設定するために $Env:PATH
を使用する
通常、私たちはオペレーティングシステムのコントロールパネルをナビゲートすることで PATH
変数を設定できます。しかし、Windows PowerShell 内では、$Env:PATH
環境変数を使用してすべてのファイルパスを出力できます。
サンプルコード:
Write-Output $Env:PATH
出力:
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;C:\Windows\System32\WindowsPowerShell\v1.0\
PowerShell で PATH
環境変数を設定するために $Env:PATH
を使用します。
開始する前に、以下のスニペットを実行して既存の PATH
変数のコピーを保存してください。
$Env:PATH >> Env_Path.txt
他のソフトウェアも PATH
環境変数に依存しており、これを誤って上書きすると複数の問題が発生する可能性があります。上記の構文を実行することは、環境変数の値に対する主なバックアップとして機能します。
新しいパスを設定するには、新しいパスを変数に追加するために簡単な文字列操作を行う必要があります。
$Env:PATH += ";C:\Program Files\Scripts"
ファイルパスの間のセパレーターとして機能するセミコロン(;
)を追加すること、そして値を変数に追加するためにプラス(+
)演算子を忘れないでください。
新しいパスを事前に決められたパスの前に呼び出したい場合は、以下の構文を使用して先頭に挿入することができます。
$Env:PATH = "C:\Program Files\Scripts;$Env:PATH"
$Env:PATH
変数を使用すると、PowerShell セッション内の PATH
環境変数が一時的に変更されるだけです。PowerShell ウィンドウを閉じると、PATH
環境変数は事前に決められた状態に戻ります。
PATH
環境変数の値を永続的に変更するには、以下の方法を使用できます。
Windows PowerShell で PATH
環境変数を設定するために [Environment]
メソッドを使用する
PATH
環境変数を変更する別の方法は、基盤となる.NET フレームワークの要素を使用する [Environment]
変数を利用することです。
これは PATH
環境変数を永続的に変更することを忘れないでください。すべてのスクリプティング環境で持続します。
PATH
環境変数を変更するには、以下の構文を実行します。
[Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";C:\Program Files\Scripts", [EnvironmentVariableTarget]::Machine)
上記の構文の [Environment]::SetEnvironmentVariable
関数には 3つのパラメータがあります。
- 変更する必要がある環境変数のタイプ、今回は
PATH
です。 - 環境変数の新しい値。
- そして環境変数のターゲットで、環境変数の場所を指定します。(マシン、ユーザー、またはプロセスレベル)
Write-Output
を使用して現在の $Env:PATH
の出力を取得すると、変更前の古い PATH
環境変数が反映されます。現在の PowerShell ウィンドウを閉じて新しいウィンドウを開き、結果を更新して確認してください。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn