この記事では、Windows11で環境変数を確認・設定する方法を解説します。環境変数の設定画面の開き方から、ユーザー変数・システム変数の違い、設定が反映されない場合の対処まで、一通りの操作手順も解説します。
「Javaをインストールしたのにコマンドが認識されない」「JAVA_HOMEの設定方法がわからない」「環境変数の画面がどこにあるかわからない」——こういった問い合わせは、開発環境の構築やツールの導入時に多く寄せられます。
情シスとして社内PCのサポートをしていると、環境変数まわりのトラブルは開発者から一般ユーザーまで幅広く発生します。特に変更後に再起動を忘れたことによる「反映されない」ケースは頻出です。
この記事では、環境変数とは何かという基本から、設定画面を開く方法、GUI・コマンド両方での確認手順、変数の追加・編集・削除、そして反映されない時の対処まで詳しく解説します。
目次
環境変数とは|ユーザー変数・システム変数の違い
環境変数とは、Windows上で動くすべてのプログラムが参照できる「OS全体の設定値」です。プログラムのインストール先パス(C:\Program Files\Java\jre1.8.0_461 など)やユーザー名、一時ファイルの保存先といった情報が、名前と値のペアで管理されています。Windows11で環境変数を確認・変更する際に必ず目にする画面です。
たとえば JAVA_HOME という環境変数を設定しておくと、Javaを必要とするツールが「Javaのインストール先」を自動的に参照できるようになります。インストール先が変わっても、変数の値を1か所変更するだけで済むのが利点です。
よく使われる環境変数
Windowsでは%変数名%の形式で環境変数を参照できます。よく使われるものには以下のようなものがあります。
| 変数名 | 値の例 |
|---|
%USERNAME% | tanaka |
%USERPROFILE% | C:\Users\tanaka |
%TEMP% | C:\Users\tanaka\AppData\Local\Temp |
%SystemRoot% | C:\Windows |
%COMPUTERNAME% | PC-001 |
Windowsでよく使われる環境変数
ユーザー変数・システム変数・プロセス変数の違い
環境変数には「ユーザー変数」「システム変数」「プロセス変数」の3種類があります。用途や適用範囲に応じて使い分けてください。
| 種類 | 適用範囲 | 編集に必要な権限 | 主な用途 |
|---|
| ユーザー変数 | サインイン中のユーザーのみ | 一般ユーザー権限で可 | 個人用のツールパス設定など |
| システム変数 | PC全体(全ユーザー共通) | 管理者権限が必要 | 全員に共通するパス・設定 |
| プロセス変数 | 実行中のプロセス内のみ | — | アプリが起動時に自動設定 保存されない |
ユーザー変数・システム変数・プロセス変数の違い
同名変数の優先順位
ユーザー変数とシステム変数に同じ名前の変数が存在する場合、優先順位は プロセス変数 > ユーザー変数 > システム変数 の順です。ただし Path は例外で、システム変数のPathとユーザー変数のPathが結合されて使用されます(システム変数のPathが先頭に来ます)。
システム変数を誤って編集すると、OS全体の動作に影響が出ることがあります。不慣れな場合は、ユーザー変数側で作業することをおすすめします。
Windows11で環境変数の設定画面を開く方法
Windows11で環境変数の設定画面を開くには、設定アプリから以下の手順でたどります。
Windowsキーを押してスタートメニューを開き、「設定」をクリックする
- 「システム」→「バージョン情報」の順にクリックする
- 「システムの詳細設定」をクリックする
- 「システムのプロパティ」画面の「環境変数(N)...」ボタンをクリックする
実際の画面を見ながら詳しく解説していきます。
STEP
Windowsキーを押して「設定」をクリック
キーボードのWindowsキーを押すか、タスクバーにあるWindowsロゴをクリックしてください。
スタートメニューが表示されたら、歯車のアイコンの「設定」をクリックします。
Windowsキーを押してスタートメニューを開き、「設定」をクリックする
STEP
「システム」をクリック
「設定」をクリックすると、「ホーム」と表示されたWindowsの設定アプリが開きます。
キーボードのWindowsキー+Iキーを押すことでも、Windowsの設定アプリを開くことができます。
また、Windowsの設定アプリを開くショートカットをデスクトップに作成すると便利です。
左側にある「システム」をクリックしてください。
設定アプリが開いたら、左側の「システム」をクリックする
STEP
「バージョン情報」をクリック
「システム」をクリックすると、システムの設定画面が開きます。
画面を一番下までスクロールし、「バージョン情報」をクリックしてください。
システム設定画面を最下部までスクロールして「バージョン情報」をクリックする
STEP
「システムの詳細設定」をクリック
「バージョン情報」をクリックすると「システム > バージョン情報」と書かれた画面に移動します。
「関連リンク」の中にある「システムの詳細設定」をクリックしてください。
「関連リンク」内の「システムの詳細設定」をクリックする
STEP
「環境変数(N)...」ボタンをクリック
「システムの詳細設定」をクリックすると、「システムのプロパティ」と書かれた画面が表示されます。
「システムのプロパティ」は、Windows+Rを押して「ファイル名を指定して実行」ウィンドウを開き、その中にsysdm.cplと入力してEnterを押すことでも開けます。
その他の開き方は、「【Windows11】システムのプロパティを開く3つの方法」で詳しく解説しています。ぜひご覧ください。
「詳細設定」タブの中にある「環境変数(N)...」ボタンをクリックしてください。
「詳細設定」タブ内の「環境変数(N)...」ボタンをクリックする
STEP
環境変数設定画面が表示されたことを確認する
「環境変数(N)...」ボタンをクリックすると、「環境変数」と書かれた画面が表示され、「ユーザーの環境変数」と「システム環境変数」が表示されます。
ユーザーの環境変数・システム環境変数の一覧が表示された環境変数画面
コマンドで環境変数を確認するには
コマンドでも環境変数を確認できます。コマンドプロンプトではset、PowerShellではGet-ChildItem env:を実行すると、現在設定されている環境変数の一覧が表示されます。
環境変数を追加・編集・削除する方法
環境変数の追加・編集・削除はすべて「環境変数」画面から行います。ユーザー変数とシステム変数でボタンの位置が異なるため、操作前にどちらを対象にするかを確認してください。
環境変数を追加する方法
環境変数を新たに追加するには「新規」ボタンを使います。ここではJava開発でよく使われるJAVA_HOMEを例に手順を解説します。
- 「環境変数」画面のユーザー環境変数欄にある「新規(N)...」をクリックする
- 「変数名」に
JAVA_HOME、「変数値」にC:\Program Files\Java\jre1.8.0_461を入力する
- 「OK」をクリックして確定する
実際の画面を見ながら詳しく解説していきます。
STEP
「新規(N)...」ボタンをクリック
環境変数を新たに登録するには、「環境変数」画面にある「新規(N)...」ボタンをクリックしてください。
システム環境変数を追加したい場合は「システム環境変数(S)」枠の下にある「新規(W)...」ボタンをクリックしてください。
ユーザー環境変数欄の「新規(N)…」ボタンをクリックして変数追加画面を開く
STEP
上段に変数名、下段に変数値を入力して「OK」ボタンをクリック
「新規(N)...」ボタンをクリックすると、「新しいユーザー変数」と書かれた画面が表示されます。
上段に変数名、下段に変数値を入力して「OK」ボタンをクリックしてください。
追加例としてJava開発でよく使われる JAVA_HOME(変数値:C:\Program Files\Java\jre1.8.0_461)を使って手順を解説します。
変数名にJAVA_HOME、変数値にインストールパスを入力して「OK」をクリックする
STEP
環境変数が正しく追加されていることを確認する
「OK」ボタンをクリックすると「環境変数」画面に戻ります。
入力した環境変数が正しく追加されていることを確認してください。
入力した環境変数が一覧に追加されていることを確認する
環境変数を編集する方法
環境変数の値を変更するには「編集」ボタンを使います。変数名・変数値のどちらも変更できます。
- 「環境変数」画面で編集したい変数を選択し、「編集(E)...」をクリックする
- 変数名・変数値を修正する
- 「OK」をクリックして確定する
実際の画面を見ながら詳しく解説していきます。
STEP
編集したい環境変数を選択して「編集(E)...」をクリック
編集したい環境変数を選択して「編集(E)...」ボタンをクリックしてください。
システム環境変数を編集したい場合は「システム環境変数(S)」枠の下にある一覧から環境変数を選択し、「編集(I)...」ボタンをクリックしてください。
編集したい変数を選択して「編集(E)...」ボタンをクリックする
STEP
上段に変数名、下段に変数値を入力して「OK」ボタンをクリック
「編集(E)...」ボタンをクリックすると、「ユーザー変数の編集」と書かれた画面が表示されます。
上段に変数名、下段に変数値を入力して「OK」ボタンをクリックしてください。
変数名・変数値を修正して「OK」をクリックして確定する
STEP
環境変数が正しく編集されていることを確認する
「OK」ボタンをクリックすると「環境変数」画面に戻ります。
選択した環境変数が正しく編集されていることを確認してください。
選択した環境変数の内容が正しく更新されていることを確認する
環境変数を削除する方法
不要になった環境変数は「削除(D)」ボタンで削除できます。確認メッセージが表示されず即座に削除されるため、操作前に対象の変数を必ず確認してください。
- 「環境変数」画面で削除したい変数を選択する
- 「削除(D)」をクリックする
- 変数が一覧から削除されたことを確認する
実際の画面を見ながら詳しく解説していきます。
STEP
削除したい環境変数を選択して「削除(D)」ボタンをクリック
削除したい環境変数を選択して「削除(D)」ボタンをクリックしてください。
システム環境変数はWindowsで使用されているものも多いため、削除はおすすめしません。
削除する変数を選択してから「削除(D)」ボタンをクリックする
STEP
選択した環境変数が削除されたことを確認する
「削除(D)」ボタンをクリックすると、選択した環境変数が削除されます。
確認メッセージは表示されません。クリックすると即座に削除されるため、操作前に対象の変数をよく確認してください。
選択した環境変数が一覧から削除されたことを確認する
環境変数の追加・変更・削除が反映されない場合の対処
環境変数を設定したのに変更が反映されない場合、いくつかの原因が考えられます。以下の項目を順に確認してください。
- PCを再起動していない
-
環境変数の変更はPCを再起動するまで反映されない場合があります。設定を変更したら一度PCを再起動してください。
- 入力ミスがある
-
変数名・変数値のスペルミスや、末尾の余分なスペースが原因になることがあります。「環境変数」画面で値を再確認してください。
- ユーザー変数とシステム変数を間違えた
-
意図と異なる方に追加してしまうケースがあります。全ユーザーに適用したい場合はシステム変数、自分だけに適用したい場合はユーザー変数に追加されているかを確認してください。
- 管理者権限がない
-
システム変数の追加・編集には管理者権限が必要です。権限のないアカウントで操作した場合、変更が保存されません。管理者権限の付与方法はこちらをご覧ください。
Windows11の環境変数に関するよくある質問と答え
Windows11の環境変数に関するよくある質問と答えをまとめました。
- Windows11で環境変数の設定画面を開く方法を教えてください。
-
Windows11で環境変数の設定画面を開くには、Windowsキーを押してスタートメニューを開き「設定」をクリックします。
続いて「システム」→「バージョン情報」→「システムの詳細設定」の順にクリックし、「システムのプロパティ」画面右下の「環境変数(N)...」ボタンをクリックすると設定画面が開きます。
- 環境変数とシステム変数の違いは何ですか?
-
「環境変数」はユーザー変数・システム変数・プロセス変数をまとめた総称です。
ユーザー変数はサインイン中のユーザーにのみ適用され、一般ユーザー権限で編集できます。
システム変数はPC全体(全ユーザー共通)に適用され、編集には管理者権限が必要です。
全員に共通の設定を行う場合はシステム変数、個人用のツールパス設定にはユーザー変数を使うのが基本です。
- 環境変数を追加するにはどうすればいいですか?
-
環境変数を追加するには、「環境変数」画面のユーザー環境変数欄にある「新規(N)...」ボタンをクリックします。
「新しいユーザー変数」画面が開いたら、上段に変数名(例:JAVA_HOME)、下段に変数値(例:C:\Program Files\Java\jre1.8.0_461)を入力し、「OK」をクリックして確定します。
システム環境変数に追加したい場合は、「システム環境変数(S)」枠の「新規(W)...」ボタンをクリックしてください。こちらは管理者権限が必要です。
- %USERPROFILE%や%USERNAME%のような「%〇〇%」の表記は何ですか?
-
%変数名%はWindowsで環境変数を参照するときの書式です。
たとえば%USERPROFILE%はC:\Users\ユーザー名、%USERNAME%はサインイン中のユーザー名に展開されます。
エクスプローラーのアドレスバーに%USERPROFILE%と入力してEnterを押すと、ユーザーのホームフォルダーを直接開くことができます。
- コマンドプロンプトで環境変数の一覧を確認できますか?
-
はい、確認できます。
コマンドプロンプトを開き、setと入力してEnterキーを押すと、現在設定されている環境変数の一覧が表示されます。
特定の変数だけ確認したい場合は「set 変数名」(例:set Path)と入力すると、変数名の前方一致で絞り込んで表示できます。
- PowerShellで環境変数を確認する方法を教えてください。
-
PowerShellでは、Get-ChildItem env:と入力してEnterキーを押すと環境変数の一覧が表示されます。
コマンドプロンプトのsetコマンドと異なり、PowerShellはオブジェクト形式で出力されるため、フィルタリングやスクリプトへの応用がしやすいのが特徴です。
PowerShellの起動方法については、PowerShellを管理者権限で起動する方法をご覧ください(通常の環境変数確認に管理者権限は不要です)。
- 環境変数を編集するにはどうすればいいですか?
-
環境変数を編集するには、「環境変数」画面で変更したい変数を選択し「編集(E)...」ボタンをクリックします。
「ユーザー変数の編集」画面が開いたら、変数名または変数値を修正して「OK」をクリックして確定します。
システム環境変数を編集する場合は「システム環境変数(S)」欄の変数を選択し「編集(I)...」をクリックしてください。管理者権限が必要です。
- 環境変数を削除すると元に戻せますか?
-
いいえ、「環境変数」画面で「削除(D)」をクリックすると確認メッセージなしに即座に削除されます。
削除前に変数名と変数値をメモしておくことをおすすめします。
特にシステム環境変数はWindowsの動作に関わるものが多いため、削除は慎重に行ってください。
- ユーザー変数とシステム変数に同じ名前の変数が存在する場合、どちらが優先されますか?
-
同名の変数が存在する場合、優先順位はプロセス変数>ユーザー変数>システム変数の順です。
ただしPathは例外で、システム変数のPathとユーザー変数のPathが結合されて使用されます(システム側が先に参照されます)。
社内PCを管理している場合、ユーザー変数でシステム変数を意図せず上書きするケースがあるため注意が必要です。
- プロセス変数とは何ですか?ユーザー変数・システム変数との違いは?
-
プロセス変数は、アプリが起動時に自動で設定する環境変数で、そのプロセス(実行中のアプリ)内にのみ適用されます。
ユーザー変数・システム変数と異なり、レジストリには保存されずアプリを終了すると消えます。
「環境変数」画面には表示されず、コマンドプロンプトのsetコマンドやPowerShellのGet-ChildItem env:でのみ確認できます。
- 環境変数を設定したのに変更が反映されません。どうすればいいですか?
-
環境変数の変更が反映されない場合、まずPCを再起動してください。
再起動後も改善しない場合は、以下を順に確認してください。
・変数名や変数値にスペルミスや末尾の余分なスペースが含まれていないか「環境変数」画面で確認する。
・意図したユーザー変数・システム変数のどちらに設定されているかを確認する。
・システム変数を変更しようとした場合、管理者権限のないアカウントで操作していないかを確認する。
- システム変数を変更しようとしたら保存されませんでした。なぜですか?
-
システム環境変数の追加・編集・削除には管理者権限が必要です。
一般ユーザーアカウントで操作した場合、変更内容が保存されません。管理者権限を持つアカウントで操作するか、管理者に依頼してください。詳しくはWindows11で管理者権限を付与する方法をご覧ください。
- JAVA_HOMEを設定したのにJavaが認識されません。何を確認すればいいですか?
-
JAVA_HOMEを設定してもJavaが認識されない場合、以下を順に確認してください。
まずPCを再起動し、再度コマンドプロンプトまたはPowerShellを開いてjava -versionを実行します。
次に「環境変数」画面でJAVA_HOMEの変数値にスペルミスや末尾のスペースが含まれていないかを確認します。
また、JAVA_HOMEに設定したパスの\binフォルダーがPathにも追加されているかを確認してください。Pathに追加されていないとjavaコマンドが認識されません。
- 環境変数はコマンドプロンプトとPowerShellのどちらで確認するのがいいですか?
-
どちらでも確認できますが、用途によって使い分けるのがおすすめです。
素早く一覧を確認するだけならコマンドプロンプトのsetコマンドが手軽です。
スクリプトでの利用やフィルタリング・加工が必要な場合はPowerShellのGet-ChildItem env:が適しています。
MicrosoftはPowerShellを推奨しており、今後の機能追加もPowerShellが中心です。
- PowerShellで環境変数を設定することはできますか?
-
PowerShellコマンドでも環境変数を設定できます。たとえば以下のコマンドを実行すると、ユーザー環境変数にJAVA_HOMEを設定できます。
[System.Environment]::SetEnvironmentVariable("JAVA_HOME","C:\Java","User")
- 環境変数の「変数名」と「変数値」にはどんな文字を入力できますか?
-
変数名にはアルファベット・数字・アンダースコア(_)を使用するのが一般的です。
大文字・小文字は区別されませんが、慣例としてJAVA_HOMEやPATHのように大文字で統一されることが多いです。
変数値にはパス文字列(例:C:\Program Files\Java\jre1.8.0_461)やテキスト値を指定できます。
末尾に余分なスペースが入るとプログラムが正しく参照できなくなるため、入力後に確認してください。
- 環境変数の設定はどのタイミングで反映されますか?
-
ユーザー変数・システム変数の変更は、PCを再起動することで確実に反映されます。
コマンドプロンプトやPowerShellは、新しいウィンドウを開き直すだけで反映される場合もありますが、アプリによってはサインイン時に環境変数を読み込むものもあり、その場合はPC再起動が必要です。
プロセス変数はアプリが起動した時点で設定され、アプリを終了するとなくなります。どこにも保存されません。
- ユーザー変数に設定した環境変数は他のユーザーアカウントでも使えますか?
-
いいえ、ユーザー変数はサインイン中のユーザーにのみ適用されます。
他のユーザーアカウントでも同じ変数を使いたい場合は、システム変数に設定する必要があります。
システム変数の編集には管理者権限が必要です。社内PCで複数のユーザーが同じツールを使う場合、情シス担当が管理者権限でシステム変数に設定しておくと運用がスムーズです。
- 環境変数の変更を間違えた場合、元に戻す方法はありますか?
-
変更前に変数名と変数値をメモしておくか、レジストリエディターでHKEY_CURRENT_USER\Environment(ユーザー変数)またはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment(システム変数)をエクスポートしておくと、万が一のときに復元できます。詳しいエクスポート手順はレジストリをバックアップ・復元する方法をご覧ください。
- 環境変数の設定はWindows11のバージョンアップ後も引き継がれますか?
-
はい、Windows11のバージョンアップ(機能更新プログラムの適用)後も、ユーザー変数・システム変数の設定は基本的に引き継がれます。
ただし、OSの大幅な再インストール(クリーンインストール)を行った場合は引き継がれません。
大型アップデート前には念のため変数名と変数値をメモしておくことをおすすめします。
最後までご覧いただき、ありがとうございました。
記事の内容は独自検証に基づくものであり、MicrosoftやAdobeなど各ベンダーの公式見解ではありません。
記事内で紹介している手順はあくまで一例です。OSのバージョンやPC環境によって操作画面・手順が異なる場合があり、目的に応じた最適な方法も環境ごとに異なります。参考のうえご利用ください。
誤りのご指摘・追記のご要望・記事のご感想は、記事のコメント欄またはこちらのお問い合わせフォームからお寄せください。個人の方向けには、トラブルの切り分けや設定アドバイスも実施します。
※Microsoft、Windows、Adobe、Acrobat、Creative Cloud、Google Chromeほか記載の製品名・サービス名は各社の商標または登録商標です。
公式情報・関連資料と検証環境
公式情報・関連資料
実行環境詳細と検証日
- OS:Windows 11 Home 25H2(64bit)
※本記事の手順は Windows11 Home / Pro / Enterpriseで共通です(ポリシーで制限された環境を除く)。
- ハードウェア:Intel(R) Core(TM) Ultra 7 155H (1.40 GHz) / 32GB RAM
- 最終検証日:2026年4月2日
コメント