ゼロから理解する! Windows の環境変数 Path と設定方法

プログラミングの環境構築をはじめ、特定のソフトウェアをインストールする際など、自分で環境変数を設定しなければならないシーンは多々あります。

特に、プログラミングにおいて、統合開発環境などを利用せず、独自にコンパイラをインストールしたり、テキストエディタをカスタマイズしたりする場合は顕著です。

環境変数の知識があれば、安全かつ容易に開発環境を構築することができます。

環境変数

環境変数は OS が様々なタスクに与える変数とその変数に格納される値の組み合わせです。

変数はハコであり、名前を付けたそれぞれのハコに各種ファイルを収める場所やシステムの名称など、様々な情報を保管し適宜参照しています。

一般的に、Windows をはじめ、macOS や Linux などの代表的な OS は環境変数を利用して情報を管理しています。

環境変数の一覧を表示

コマンドプロンプトにsetと入力することで OS が管理する環境変数の一覧ををチェックすることができます。

コマンドプロンプトは、タスクバーの検索欄か、Windows + r で起動した「ファイル名を指定して実行」のダイアログに、cmdと入力して起動します。

環境変数の一覧表示(抜粋して掲載)

環境変数は、変数に格納される値が単一の場合は 変数名 = 値、複数の場合は 変数名 = 値1; 値2; 値3; …の規則で形式で定義されます。

例えば、上記の例ではコンピュータ名を変数 COMPUTERNAME に定義したり、ホームディレクトリを HOMEPATH に定義したりしていることが分かります。

ただし、上記の例では変数に格納される値が単一の文字列またはパスの場合のみです。

ユーザ環境変数とシステム環境変数

環境変数には、ユーザ環境変数とシステム環境変数の 2 種類があります。

種類 概要
ユーザ環境変数 サインインしているアカウントのみに適応される変数
システム環境絵変数 全てのアカウントに適応される変数

システム環境変数を安易に変更したり、不用意に新たな変数を追加したりすると、他のアカウントにおいて、ユーザが意図しない動作を起こす原因になり得ます。

例えば、デフォルトのシステム環境変数を誤って変更すると、OS の動作が不安定になり、最悪の場合、元の状態に戻せなくなります。

そのため、特別な理由がない限り、環境変数に新たな変数を追加したり、変数に値を追加したりする場合は、ユーザ環境変数をカスタマイズすることが安全策です。

Path

「Path」は環境変数の 1 つであり、主に OS が実行可能ファイル *.exe を検索する際に使用する変数です。

自身で設定する機会が最も多く、よく見聞きする環境変数です。

コマンドプロンプトにpathと入力することで、環境変数「Path」の変数値を確認することができます。

環境変数「Path」の一覧表示

「Path」には頻繁に利用する実行可能ファイルまでのパスや、特定の処理で参照するディレクトリのパスが格納されています。

実行可能ファイルがあるディレクトリまでのフルパスを環境変数「Path」に設定することで、インストールしたアプリケーションや自身で記述したスクリプト等を OS が認識します。

つまり、コマンドプロンプトから実行可能ファイル名をコマンドとして入力して簡単に実行することができるようになります。

こうした設定操作はPathを通すとよく表現されます。

コマンドプロンプトにおいて特定のコマンドが実行されると、下記の順序で実行可能ファイルの検索が開始されます。

  1. カレントディレクトリ
  2. 環境変数「Path」

該当ファイルが見つかった場合はタスクが実行されますが、両方になかった場合はエラーメッセージが表示されます。

Path の設定方法

ここではデモとして、環境変数「Path」に Microsoft Office アプリの実行可能ファイルがあるディレクトリまでのフルパスを設定することで、コマンドから起動できるようにします。

また、デモを通じて「Path」の設定前後の比較を行うことで、パスを通す有効性を確認します。

以下のデモは、Windows 10 において検証しました。

実行ファイルまでのフルパスを取得

アプリケーションをインストールする際は、初期インストール先を確認しておくと安心です。

多くの場合、インストーラがユーザにインストール先を表示して確認や変更を促しますので、メモするか任意のディレクトリに変更するなどして把握することができます。

今回のデモで設定する Microsoft Office アプリはWordPowerPointExcelの 3 つです。

それぞれの実行可能ファイル名と初期設定のフルパスは下記の通りです。

アプリ 実行可能ファイル名 初期設定のフルパス
Word WINWORD C:\Program Files (x86)\Microsoft Office\root\Office16
PowerPoint POWERPNT
Excel EXCEL

同じディレクトリにありますが、実行可能ファイル名が異なります。

MEMO

Windows におけるパスの区切り文字は「/」のほか「\」も利用可能

ユーザ環境変数に定義

「環境変数」のパネルを起動

タスクバーの検索欄に環境変数を編集と入力することで、環境変数の編集パネルを検索し、起動することができます。

タスクバーの検索欄に環境変数を編集と入力
環境変数の編集
  1. 「ユーザ環境変数」の Path をダブルクリック
  2. 新規をクリック
  3. C:\Program Files (x86)\Microsoft Office\root\Office16 を登録
  4. 開いている全パネルの OK をクリックしてクローズ
Path をダブルクリック
新規をクリック
C:\Program Files (x86)\Microsoft Office\root\Office16を登録
MEMO

ユーザ環境変数欄に「Path」変数がない場合は「新規」から「変数名」に「Path」を追加して「変数値」にパスを登録

設定は以上になりますので、ウィンドウを閉じて構いません。

「システム」のパネルを表示
  1. コントロールパネルを起動
  2. システムとセキュリティをクリック
  3. システムをクリック
システムとセキュリティをクリック
システムをクリック
MEMO

「Windows」+「Pause/Break」のショートカットから「システム」のパネルを表示させることも可能

「システムのプロパティ」のパネルを表示

システムの詳細設定 をクリック

システムの詳細設定をクリック(Windows バージョン 1909 の場合)
システムの詳細設定をクリック(Windows バージョン 20H2 の場合)
「環境変数」のパネルを表示

環境変数をクリック

環境変数をクリック

動作確認

参考までに、パスを通す前の挙動も踏まえて、設定後の動作確認を行います。

Path 設定前

パスを通さずに、コマンドプロンプトからアプリを起動させる場合は、コマンドとして実行可能ファイルを含めたフルパスを入力します。

このとき、パスの文字列に空白を含む場合は、コマンド入力であることを OS に明示するために、ダブルクォーテーションでパス全体を囲む必要があります。

起動対象アプリ コマンド
Word “C:\Program Files (x86)\Microsoft Office\root\Office16\WINWORD”
PowerPoint “C:\Program Files (x86)\Microsoft Office\root\Office16\POWERPNT”
Excel “C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL”

上記の表におけるコマンドをコマンドプロンプトに入力すると、アプリが起動します。

しかし、当然ながら Path 設定前に実行可能ファイル名をコマンドとして入力してもエラーが返ってきます。

「Path」設定前はエラー

Path 設定後

コマンドプロンプトを起動し、WINWORDPOWERPNTEXCEL のいずれかを入力した場合にアプリが起動すれば、設定が正しく反映されています。

起動対象アプリ コマンド
Word WINWORD
PowerPoint POWERPNT
Excel EXCEL

アプリが起動しない場合は、コマンドプロンプトを再起動させてからコマンドを再入力します。

それでも起動しない場合は登録したパスが間違っている可能性がありますので、下記の「Path 設定上の諸注意」を参考にご確認ください。

Path 設定上の諸注意

文字の大小

Windows の環境変数は文字列の大文字と小文字を区別しません。

そのため、例えば、PATH、Path、path は全て同じ変数とみなされます。

また、文字列の前提は半角英数字です。

検索優先順位

環境変数「Path」中の検索順位は上の行に記述されたパスが優先されます。

そのため、パスを通したにも関わらず、コマンドプロンプトでは実行できないことがあるようです。

この場合はパスの位置を上へをクリックして移動させて優先度を上げます。

優先順位の変更

おわりに

今回は簡単なデモのために、Microsoft Office アプリのフルパスを環境変数「Path」に設定しましたが、コンパイラやその他ソフトウェアをインストールする場合も同様です。

試しに、コマンドプロンプトから起動できれば都合が良いアプリがある場合は、まずそのアプリのパスを通して実験してみてはいかがでしょうか。

Windows コマンド環境のすべて

著者 : 五十嵐 貴之 / 出版社 : ソシム

Windows コマンドプロンプトポケットリファレンス

著者 : 山近 慶一 / 出版社 : 技術評論社