Windows 11/10のシステム環境変数とユーザー環境変数を徹底解説
システム環境変数とユーザー環境変数は、日々Windows OSを使うユーザーにとって難解なテーマの一つです。「これらは何をするものなのか?」「ネットのチュートリアルでPATH変数を追加しろと言われたが、それは何?」「これらの変数はどこで見つけられるのか?」――本記事ではこうした疑問に答えながら、システム環境変数とユーザー環境変数とは何か、そしてそれらをどう活用できるのかを分かりやすく概説します。
まず環境変数の基本と、システム環境変数・ユーザー環境変数の違い、追加・編集の方法を解説します。その後、動的システム変数について触れ、コマンドプロンプトでの使い方もご紹介します。
Windows OSにおける環境変数とは
「環境変数(Environment Variable)」という言葉は、「Environment(環境)」と「Variable(変数)」という2つの単語から成り立っています。まず「変数」とは、値を格納でき、コンピューターごとに異なる値を持つことができるものです。一方、Windowsはアプリケーションが実行や操作を行うための「環境」を提供しています。この2つを組み合わせたのが環境変数であり、環境によって提供された値を格納する動的なオブジェクトのことです。
環境が提供する値は、他のプログラムがシステムに関する重要な情報を取得する際に役立ちます。例えば「windir」という環境変数は、Windowsがインストールされているディレクトリに対応しています。実際に確認するには、エクスプローラーのウィンドウを開き、アドレスバーに「%windir%」と入力してみてください。Windowsのインストールフォルダーが開くはずです。
同様に、他のプログラムやスクリプトの中でも「windir」変数を使ってWindowsディレクトリを参照できます。他にも多くの変数があり、「TEMP」や「TMP」は一時ファイルが保存されるディレクトリを指します。最も有名なのは「Path」変数で、実行可能ファイルが含まれるディレクトリを指します。これにより、コマンドプロンプトからどのディレクトリにいてもプログラムを実行できます。Pathについては後ほど詳しく説明します。これらの変数は、開発作業やシェルを頻繁に使う場面で特に役立ちます。
システム環境変数とユーザー環境変数とは
Windowsのレジストリの仕組みとよく似ていますが、環境変数には「システム環境変数」と「ユーザー環境変数」があります。システム変数はシステム全体で共通のもので、ユーザーごとに異なることはありません。一方、ユーザー環境変数はユーザーごとに個別に設定されます。自分専用の変数をユーザー配下に追加すれば、他のユーザーに影響を与えることはありません。
補足として、評価の順序についても触れておきます。システム変数はユーザー変数よりも先に評価されます。そのため、システム変数と同じ名前のユーザー変数が存在する場合は、ユーザー変数が優先されます。ただしPath変数だけは特別で、有効なPathは「システムPath+ユーザーPath」を連結した形になります。エントリの順序は、システム側のエントリが先、その後にユーザー側のエントリが続きます。
環境変数の追加・編集方法
先に進む前に一つ注意点があります。必ずシステムの復元ポイントを作成しておきましょう。また、既存の設定には、自分の操作に確信が持てる場合を除き、むやみに手を加えないようにしてください。「環境変数」ウィンドウを開くには、以下の手順に従います。
- 「PC」アイコンを右クリックし、「プロパティ」を選択します。
- 表示されたウィンドウの左側にある「システムの詳細設定」を選択します。
- 一番下の「環境変数」ボタンをクリックすると、目的のウィンドウが開きます。

ウィンドウを開くと、ユーザー環境変数とシステム環境変数がそれぞれ表示されます。1列目が変数名、2列目がその値です。表の下にあるボタンで、変数の「新規」「編集」「削除」を行えます。
Path変数の使い方
Pathは最もよく使われる環境変数です。前述の通り、実行可能ファイルが含まれるディレクトリを指します。Path変数を正しく設定すれば、システム内のどこからでもこれらの実行ファイルを利用できるようになります。具体例で見てみましょう。環境変数ウィンドウを開き、システム環境変数の中から「Path」を探します。

「編集」をクリックし、次に「新規」をクリックします(現時点では他のコントロールには触れないでください)。次に「参照」をクリックして、目的の実行ファイルがあるフォルダーを選択します。「OK」をクリックしてすべて保存します。ここでは例として「Visual Studio Code」の実行ファイルをPathに追加しました。

アプリケーションを実行するには、コマンドプロンプトを開き、そのフォルダー内の実行ファイル名を入力します。プログラムが対応していれば、追加の引数を指定することもできます。コマンドを実行した場所にプログラム本体がなくても起動できる――これこそがPath変数の便利さです。
すべての環境変数の一覧を表示する
コマンドプロンプトを開いて「SET」と入力し、Enterキーを押してください。現在の値とともに変数の一覧全体が表示され、設定変更の参考にできます。
動的環境変数とは
通常の変数とは異なり、動的環境変数はシステムではなくCMD(コマンドインタープリター)によって提供されます。これらの変数の値は変更できず、照会されるたびにさまざまな個別の値に展開されます。主にバッチ処理で使われ、環境自体には保存されません。「SET」コマンドでもこれらの変数は表示されません。
関連記事:環境変数をコンテキストメニューに追加する方法
Windows 11/10の主な環境変数一覧
- %APPDATA% – C:\Users\<username>\AppData\Roaming
- %ALLUSERSPROFILE% – C:\ProgramData
- %CD% – 現在作業中のディレクトリを返します。
- %COMMONPROGRAMFILES% – C:\Program Files\Common Files
- %COMMONPROGRAMFILES(x86)% – C:\Program Files (x86)\Common Files
- %COMMONPRGRAMW6432% – C:\Program Files\Common Files
- %CMDEXTVERSION% – コマンドライン拡張機能のバージョンに展開されます。
- %COMSPEC% – C:\Windows\System32\cmd.exe
- %DATE% – 日付形式の設定に従った現在の日付を返します。
- %ERRORLEVEL% – 直前に実行したコマンドが設定したエラーレベルを示します。
- %HOMEDRIVE% – C:\
- %HOMEPATH% – C:\Users\<username>
- %LOCALAPPDATA% – C:\Users\<username>\AppData\Local
- %LOGONSERVER% – \\<domain_logon_server>
- %PATH% – C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
- %PATHEXT% – .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
- %PROGRAMDATA% – C:\ProgramData
- %PROGRAMFILES% – C:\Program Files
- %PROGRAMW6432% – C:\Program Files
- %PROGRAMFILES(X86)% – C:\Program Files (x86)
- %PROMPT% – $P$G
- %SYSTEMDRIVE% – C:
- %SYSTEMROOT% – C:\Windows
- %TIME% – 時刻形式の設定に従った現在の時刻を返します。
- %TMP% – C:\Users\<username>\AppData\Local\Temp
- %TEMP% – C:\Users\<username>\AppData\Local\Temp
- %USERNAME% – <username>
- %USERPROFILE% – C:\Users\<username>
- %USERDOMAIN% – 現在のユーザーに関連付けられたユーザードメイン。
- %USERDOMAIN_ROAMINGPROFILE% – ローミングプロファイルに関連付けられたユーザードメイン。
- %WINDIR% – C:\Windows
- %PUBLIC% – C:\Users\Public
- %PSMODULEPATH% – %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
- %ONEDRIVE% – C:\Users\<username>\OneDrive
- %DRVERDATA% – C:\Windows\System32\Drivers\DriverData
- %CMDCMDLINE% – 現在のコマンドプロンプトセッションを起動したコマンドラインを出力します。
- %COMPUTERNAME% – システム(コンピューター)名を出力します。
- %PROCESSOR_REVISION% – プロセッサーのリビジョンを出力します。
- %PROCESSOR_IDENTIFIER% – プロセッサーの識別子を出力します。
- %PROCESSOR_LEVEL% – プロセッサーのレベルを出力します。
- %RANDOM% – 0〜32767の範囲でランダムな数値を出力します。
- %NUMBER_OF_PROCESSORS% – 物理および仮想コアの数を出力します。
- %OS% – Windows_NT
以上が、Windowsにおけるシステム環境変数とユーザー環境変数についての解説でした。Windowsにはさらに多くの変数が用意されていますので、「SET」コマンドを使ってぜひ確認してみてください。
TIP:Rapid Environment Editorは、Windows向けの強力な環境変数エディターです。

-
Windows 11/10でシステムの復元エラー0x800700b7を修正する方法
Windows 11/10でシステムの復元を実行した際に、「システムの復元中に不明なエラーが発生しました(0x800700b7)」というエラーメッセージが表示されることがあります。この記事では、その具体的な解決方法を詳しく解説します。このエラーは、システムの復元が正常に完了せず失敗した場合によく発生します。作業を始める前に、PCを強制終了せず、エラーが表示されるまで必ず待機してください。 システムの復元エラー0x800700b7が発生する主な原因 このエラーにはいくつかの原因が考えられます。 ウイルス対策ソフトが復元プロセスの完了を妨げている 破損したシステムファイルが原因で復元に失敗して
-
Windows 11/10の「リザーブドストレージ」とは?仕組みと確認方法を徹底解説
Windows 11/10のアップグレード時に「更新プログラムの失敗」に悩まされるユーザーは少なくありません。その主な原因は、タスクの完了に必要な空きストレージ容量が不足していることです。この問題に対し、Microsoftは実用的な解決策としてリザーブドストレージ(Reserved Storage)を導入しました。同社は、更新プロセスがスムーズに完了するよう必要なディスク領域を自動的に確保し、具体的には約7GBのディスク領域を予約することで、大規模な更新プログラムのインストール失敗を防ぎます。本記事では、Windows 11/10におけるこの新しいストレージ予約機能の仕組みについて詳しく解説し