PowerShellで環境変数の作成、変更、削除を行う

toc目次

環境変数とは

環境変数(Environment Variable)は、オペレーティングシステム(OS)が提供するデータ共有機能の1つです。

OS上で動作するタスク(プロセス)がデータを共有するための仕組みであり、とくにタスクに対して外部からデータを与え、タスクの挙動・設定を変更するために用います。

PowerShellで環境変数の作成、変更、削除を行う方法

System.EnvironmentクラスのGetEnvironmentVariableメソッド、SetEnvironmentVariableメソッドを使用することで環境変数の作成、変更、削除を行うことができます。

環境変数の参照

GetEnvironmentVariable(環境変数名, 対象)で環境変数を参照できます。

# プロセス環境変数のPathを参照
[Environment]::GetEnvironmentVariable('Path', 'Process')

# ユーザ環境変数のPathを参照
[Environment]::GetEnvironmentVariable('Path', 'User')

# システム環境変数のPathを参照
[Environment]::GetEnvironmentVariable('Path', 'Machine')

環境変数の作成、変更

GetEnvironmentVariable(環境変数名, 変数値, 対象)で環境変数を作成します。
(※ すでに環境変数名が存在する場合は上書きします。)

# ユーザ環境変数にJAVA_HOMEを設定する
[Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Java\jdk1.8.0', 'User')

Pathを新たに追加する場合は以下のようにします。

# 現在設定されているPathを取得
$path = [Environment]::GetEnvironmentVariable('Path', 'User')

# 現在のPathの後に新しいPathを追加
$newPath = $path + ';' + 'C:\Python3'

# 追加したPathを設定
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')

環境変数の削除

GetEnvironmentVariable(環境変数名, $null, 対象)で環境変数を削除します。

# ユーザ環境変数のJAVA_HOMEを削除
[Environment]::SetEnvironmentVariable('JAVA_HOME', $null, 'User')

参考