2017年1月25日

【PowerShell】環境変数を設定する






環境変数を設定するには以下のようにします。

一時的に設定する

一時的に環境変数に値を設定するには、「$env:変数名」に「=」で値を設定するだけです。
PS C:\work> $env:MYENV = "This is my env."
この例では、「MYENV」という名前の変数に「This is my env.」という値を設定しています。

PS C:\work> $env:MYENV
This is my env.
実際に値を確認してみると、このように先ほど設定した値が表示されます。

ちなみに、この設定した変数は、現在起動しているプロンプト内だけで使うことが出来ます。


永続的に設定する

現在のユーザーで使えるユーザー環境変数、またはマシン上のすべてのユーザーで使えるシステム環境変数に値を設定するには次のようにします。
PS C:\work> [System.Environment]::SetEnvironmentVariable("MyUserEnv", "This is my user env.", "User")
この例では、「MyUserEnv」という名前のユーザー環境変数に「This is my user env.」という値を設定しています。
SetEnvironmentVariableメソッドの3つ目のパラメータは、ターゲットとなる環境変数を表しています。
ユーザー環境変数をターゲットとする場合は、"User"、システム環境変数をターゲットとする場合は、"Machine"とします。

ちなみに設定した値はすぐには使えません。
新たにプロンプト画面を起動したりプロセスを起動したあとに使えるようになります。


システム環境変数のPathに値を追加する

システム環境変数のPathに新たなパスを追加するには次のようにします。
PS C:\work> $oldSystemPath = [System.Environment]::GetEnvironmentVariable("Path", "Machine")
PS C:\work> $oldSystemPath += ";c:\work"
PS C:\work> [System.Environment]::SetEnvironmentVariable("Path", $oldSystemPath, "Machine")
GetEnvironmentVariableメソッドで現在の設定値を取得して、そこに新たなパスを追加して、それをSetEnvironmentVariableメソッドで環境変数に設定しています。


<関連記事>
【PowerShell】環境変数を表示する
【PowerShell】インストールされているプログラムの一覧を取得する
【PowerShell】現在の日付と時刻を取得する
【PowerShell】システム時刻を指定した時刻に変更する


スポンサーリンク