PowerShellでの環境変数の扱い方とは?参照・変更する方法や環境変数の利用を紹介

PowerShellでの環境変数の扱い方とは?参照・変更する方法や環境変数の利用を紹介のアイキャッチイメージ

PowerShellでの環境変数の扱い方とは?

今回は、PowerShellでの環境変数の扱い方について説明します。環境変数とは、オペレーティングシステムが提供するシステム変数のことです。PowerShellで環境変数を操作することができます。

ここでは、環境変数の参照、環境変数Pathに追加・置換・削除、ユーザ環境変数を追加、環境変数の削除、環境変数の利用、について紹介します。

PowerShellでの環境変数の扱い方に興味のある方はぜひご覧ください。

環境変数の参照

PowerShellでの環境変数の参照方法を紹介します。

実際のコマンドを見てみましょう。Get-ChildItem env:コマンドで環境変数の一覧を取得できます。
PS C:\> Get-ChildItem env:
Name Value
---- -----
ALLUSERSPROFILE C:\ProgramData
APPDATA C:\Users\user\AppData\Roaming
CommonProgramFiles C:\Program Files\Common Files
CommonProgramFiles(x86) C:\Program Files (x86)\Common Files
CommonProgramW6432 C:\Program Files\Common Files
(中略)

特定の環境変数を参照する場合は以下のように記述します。
PS C:\> Get-ChildItem env: | Where-Object {$_.Name -eq 'TMP'}
Name Value
---- -----
TMP C:\Users\user\AppData\Local\Temp
PS C:\>

以下のようにも記述できます。
PS C:\> Get-ChildItem env:TMP
Name Value
---- -----
TMP C:\Users\user\AppData\Local\Temp
PS C:\>

環境変数にアクセスするには以下のように記述します。
PS C:\> $env:TMP
C:\Users\user\AppData\Local\Temp
PS C:\>

このように、PowerShellでは環境変数を参照できます。

環境変数Pathに追加・置換・削除

PowerShellでの環境変数の変更方法を紹介します。

実際のコマンドを見てみましょう。まずは環境変数Pathを表示してみます。
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>

環境変数の先頭にパスを追加するには以下のように記述します。
PS C:\> $env:Path = "C:\path\to\test;" + $env:Path
PS C:\> $env:Path
C:\path\to\test;C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>

パスを削除するにはReplaceを使用します。
PS C:\> Set-Item env:Path $env:Path.Replace("C:\path\to\test;", "")
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;
PS C:\>

環境変数の末尾にパスを追加するには以下のように記述します。
PS C:\> $env:Path += "C:\path\to\test;"
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;C:\path\to\test;
PS C:\>

パスを置換するにはReplaceを使用します。
PS C:\> Set-Item env:Path $env:Path.Replace("C:\path\to\test;", "C:\path\to\sample;")
PS C:\> $env:Path
C:\Program Files (x86)\Common Files\Oracle\Java\javapath; (中略) C:\Users\user\AppData\Local\Microsoft\WindowsApps;C:\Users\user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\user\.dotnet\tools;C:\Users\user\.dotnet\tools;C:\Users\user\AppData\Roaming\npm;C:\path\to\sample;
PS C:\>

追加したパスは削除しておきます。
PS C:\> Set-Item env:Path $env:Path.Replace("C:\path\to\sample;", "")
PS C:\>

このように、PowerShellでは環境変数を変更できます。

ユーザ環境変数を追加

PowerShellでの環境変数の追加方法を紹介します。

実際のコマンドを見てみましょう。
PS C:\> $env:TESTENV="testEnv"
PS C:\> $env:TESTENV
testEnv
PS C:\>

環境変数が追加されていることが分かります。

環境変数の削除

PowerShellでの環境変数の削除方法を紹介します。

実際のコマンドを見てみましょう。Remove-Itemコマンドを使用します。
PS C:\> $env:TESTENV="testEnv"
PS C:\> $env:TESTENV
testEnv
PS C:\> Remove-Item env:TESTENV
PS C:\> $env:TESTENV
PS C:\>

追加した環境変数が削除されていることが分かります。

環境変数の利用

PowerShellでの環境変数の利用方法を紹介します。

実際のコマンドを見てみましょう。ここでは、環境変数名でフォルダを作成してみます。
PS C:\> $env:TESTENV="testEnv"
PS C:\> Get-ChildItem .\test\
PS C:\> mkdir .\test\$env:TESTENV
ディレクトリ: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/11/11 21:57 testEnv
PS C:\> Get-ChildItem .\test\
ディレクトリ: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2020/11/11 21:57 testEnv
PS C:\>

まとめ

いかがでしたでしょうか。PowerShellでの環境変数の扱い方について説明しました。

ここでは、環境変数の参照、環境変数Pathに追加・置換・削除、ユーザ環境変数を追加、環境変数の削除、環境変数の利用、について紹介しました。

ぜひご自身でコマンドを書いて、理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。