もくじ
📝 はじめに
PowerShellで作業していると、
「一時的に環境変数を設定したい」
「スクリプトの実行中だけ PATH やフラグを変えたい」
という場面に出会うことがあります。
そんなときに使えるのが
Set-Item Env: です。
これは、PowerShellの環境変数(Env: ドライブ)に値を設定するためのコマンドで、
セッション内での動作確認や一時設定に非常に便利です。
- スクリプト実行中だけ環境変数を設定したい
- 一時的に PATH を追加したい
- アプリやツールの挙動をテストしたい
✅ このコマンドでできること(要点)
- 環境変数に値を設定できる
- 既存の環境変数を上書きできる
- 現在の PowerShell セッションにのみ反映される
- Get-ChildItem Env: ですぐ確認できる
✅ Set-Item Env: でできること
Set-Item Env: は、
PowerShellの仮想ドライブである Env: に対して
値を設定するための方法です。
設定された環境変数は
現在の PowerShell セッション内でのみ有効であり、
新しく開いた PowerShell や OS 全体には影響しません。
考え方としては「一時的なメモを書き換える」と覚えると分かりやすいでしょう。
🧩 基本構文
Set-Item Env:変数名 値
変数名と値を指定するだけで、環境変数が設定されます。
▶ 基本的な使い方(まずこれだけ)
🔹 環境変数を新しく設定する
Set-Item Env:TEST_VALUE "sample"
TEST_VALUE という環境変数が作成され、
値に sample が設定されます。
エラーが出なければ成功です。
🔹 設定した値を確認する
Get-ChildItem Env:TEST_VALUE
Name と Value が表示されていれば、正しく設定されています。
🛠 よく使われる指定例
🔹 既存の環境変数を上書きする
Set-Item Env:MY_FLAG "true"
すでに存在する場合でも、値は上書きされます。
🔹 PATH に一時的に追加する
Set-Item Env:PATH "$env:PATH;C:\Tools"
現在の PATH に新しいパスを追加します。
セッション終了後は元に戻ります。
💼 実務でよく使う使用例(応用)
🔹 スクリプト内で一時フラグとして使う
Set-Item Env:DEBUG_MODE "1"
if ($env:DEBUG_MODE -eq "1") {
"デバッグモードが有効です"
}
🔹 外部コマンドに値を渡す
Set-Item Env:APP_ENV "test"
some-command.exe
- Get-ChildItem Env: で設定確認
- $env:変数名 で即参照
- Remove-Item Env: で削除
🧩 よくある勘違い・つまずきポイント
- OS 全体の環境変数は変更されない
- PowerShell を閉じると設定は消える
- 変数名は大文字・小文字を区別しない
- 既存の値は上書きされる
- 永続化したい場合は別の方法が必要
🔄 cmdとの違いについて
cmd では set 変数=値 を使いますが、
PowerShell の Set-Item Env: は
環境変数をオブジェクトとして扱える点が特徴です。
他のコマンドと組み合わせやすいのが利点です。
⚠ エラー・うまく動かないときの確認ポイント
- Env: の指定を忘れていないか
- 変数名にスペースが含まれていないか
- 値の文字列が正しく指定されているか
- 永続化が必要な設定ではないか
🧠 注意点
Set-Item Env: は
一時的な設定に向いています。
永続的に環境変数を設定したい場合は、
システム設定や別の PowerShell コマンドを検討しましょう。
📌 まとめ
- Set-Item Env: で環境変数を設定できる
- 設定は現在の PowerShell セッションのみ有効
- 一時的なテストやスクリプトに最適
- 永続化とは用途を分けて使う
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- 環境変数を設定したい
- PATH を一時的に変更したい
- スクリプト用のフラグを作りたい
- 設定値を確認したい
- エラーや実行できない原因を調べたい
- 環境変数を削除したい
- 一時設定で動作確認したい
