検索
連載

【Windows 11対応】Path環境変数を設定/編集して、独自のコマンドを実行可能にするTech TIPS

Windows 10やWindows 11でよく使うコマンドやツールなどがあるなら、それらをまとめて1つのフォルダに保存しておき、そのパスを「Path」という環境変数に追加しておくとよい。Path環境変数をGUIで設定/編集する手順と注意点を詳しく紹介する。

Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

コマンドを実行する「Path」って、この画面で設定すればいいんだよね。あれ、Pathが2つある…… どうすればいいの? Windows 10/11でPath環境変数を設定する手順と注意点

対象:Windows 10/Windows 11


いちいちフルパスを指定せずに独自のコマンドを実行したい

 コマンドプロンプトを開いて作業することが多いユーザーなら、よく使うコマンドや、自分で作成したツールなどをどこかのフォルダにまとめて管理しているのではないだろうか。そのような場所に保存されているコマンドを起動したい場合、「Path」という環境変数にフォルダの場所をセットしておけば、わざわざフルパス名を指定しなくても簡単に呼び出せるようになる。

 例えば、「D:\MyCommand」フォルダにコマンドが保存されているとすると、Path環境変数にこの場所をユーザーが自分で追加しておけば、カレントフォルダの場所がどこであっても、「D:\MyCommand\mybatch.cmd」ではなく、単に「mybatch」と入力するだけでコマンドを起動できる。

 このPath環境変数の値を設定する方法は幾つかある。そのうち本Tech TIPSでは、Windows 10およびWindows 11を対象として、GUIで設定する方法を紹介する。コマンドプロンプトで設定する方法については、Tech TIPS「setxで環境変数の値を設定する」を参照していただきたい。

Path環境変数の基本

 具体的な手順を説明する前に、まずはPathの仕組みについて簡単に説明しよう。

 Pathには複数のフォルダのパスを「;」(セミコロン)で区切って列挙できる。同じ名前のコマンドが複数のフォルダ中に存在する場合は、Path環境変数の先頭の方にあるフォルダが優先される。実際にどのファイルが実行されているかは、Tech TIPS「Windowsのwhereコマンドでファイルを探す」で紹介しているwhereコマンドなどを使えば確認できる。

 Path環境変数はユーザーごとにそれぞれ異なる値を設定できる。通常は、システム全体で共通のPathの値に、ユーザーごとのPathの値を結合して利用する。

 コマンドの起動方法やPath環境変数の制限などについては、次の記事も参照していただきたい。

手順1――環境変数の設定画面を表示させるには

 Path環境変数を設定するには、以下の手順で[環境変数]画面を開く。

  1. Windows]+[Pause]キーを押して、[設定]アプリの[システム]−[バージョン情報]画面(Windows 10の場合は[Windowsの設定]アプリの[システム]−[詳細情報]画面)を開く
  2. システムの詳細設定]リンクをクリックして、[システムのプロパティ]画面を開く
  3. 詳細設定]タブの右下にある[環境変数]ボタンをクリックして、[環境変数]画面を開く

 意図した画面が開かない場合は、Tech TIPS「コントロールパネルの[システム](相当)や[システムのプロパティ]を素早く開く方法」を参照していただきたい。

[システムのプロパティ]画面
[システムのプロパティ]画面
環境変数は[システムのプロパティ]画面で確認したり、設定したりできる。
2カ所にあるPath環境変数
2カ所にあるPath環境変数
Pathは、サインイン中のユーザーだけに作用する「ユーザー環境変数」とシステム全体(全ユーザー)に作用する「システム環境変数」の両方で設定されている。

 Path環境変数には、ユーザーごとに固有の「ユーザー環境変数」と、システム全体で共通の「システム環境変数」の2つがある。ユーザーがシステムにサインインすると、この2つが結合されて(内部的には、システム環境変数Pathの後ろに、ユーザー環境変数Pathの内容が追加される)、これがコマンドプロンプトやアプリケーションなどに渡されることになる。

 一般的には、ユーザー環境変数のPathを変更すればよいだろう。だが同じPCにサインインする複数のユーザーやアプリケーション、タスクなどで1つのコマンドフォルダを共有したい場合はシステム環境変数側のPathを編集する。

 なお環境変数には、Path以外にもさまざまな変数が設定されているので、Pathを編集する場合には、用途に応じていずれかのPathを選んでから[編集]ボタンをクリックする。Pathを選ばずに[新規]や[編集]ボタンをクリックすると、Pathへの新規追加や編集が行えないので注意したい。

手順2――Path環境変数にパスを追加するには

 編集したい方のPath変数を選んでからダブルクリックするか、[編集]ボタンをクリックすると、次のような編集画面が表示される。

Pathを編集する
Pathを編集する
Pathに新しいパスを追加したり、優先度(検索順位)を変更したり、不要なエントリを削除したりできる。

 新しいフォルダのパスを追加するには[新規]ボタンをクリックするか、空行の部分をダブルクリックする。するとパスの入力欄が表示されるので、そこに直接フルパス名を手動で入力するか、[Ctrl]+[V]キーでパスのテキストを貼り付ける。GUIでフルパスを指定したいなら、右にある[参照]ボタンをクリックして[フォルダーの参照]ダイアログを表示させればよい。

新規パスの追加
新規パスの追加
新しいパスを追加すると末尾に置かれるので、必要に応じて優先度を変更する。

 この画面を使って入力する場合、パスの末尾にセミコロンを付ける必要はない。追加したいパスを、1行に1つずつ書いていく。

 追加したパスもしくはすでにあるパスの内容を修正するには[編集]を、削除するには[削除]ボタンをクリックする。

 新規に追加したパスは必ず末尾に置かれるので、優先度を上げたければ[上へ]ボタンをクリックして移動させる。あるいは既存のパスを選んで[下へ]ボタンをクリックして、新規追加したパスより優先度を下げてもよい。前述の通り、上にある方が検索の優先度は高くなるし、ユーザー環境変数よりもシステム環境変数の方が先に検索される。

 上記の入力編集画面は、フルパス名を2つ以上列挙するタイプの環境変数を選択すると自動的に表示される。そうでない(内容が複数のフルパス名でない)環境変数の場合や、上の画面で[テキストの編集]ボタンをクリックした場合は、Windows 8.1以前のようなシンプルな入力画面が表示される。

Path以外のパスの編集
Path以外のパスの編集
複数のフルパス名をセミコロンで区切ったもの以外の環境変数だと、このような形式で編集する。これはWindows 8.1以前と同様だ。

 この画面には[ディレクトリの参照]や[ファイルの参照]ボタンがあるので(これらはWindows 8.1以前では利用できない)、これらを使うと、追加または変更したいファイルやフォルダのフルパスを間違いなく設定できる。

 ちなみにユーザー環境変数とシステム環境変数の両方で同じ名前の変数を定義した場合は(デフォルトで設定されている「TMP」「TEMP」がこれに相当)、まずシステム環境変数が設定された後、ユーザー環境変数が設定される。これにより、結果的にはユーザー側の設定が優先されているように見える。システム環境変数側のみを利用したい場合は、ユーザー環境変数側の同名の変数を削除するとよい。

 ただしPath環境変数の場合は例外で、前述のようにシステム側のPath設定の末尾に、ユーザー側のPath設定が追加される。

手順3――Path設定後の反映と確認をするには

 環境変数の値や優先度などの設定が完了したら、[OK]ボタンを押して、[環境変数]の画面を閉じる。もし設定を間違えたり、削除してしまったりした場合は、[OK]ではなく、[キャンセル]を押すと、何も変更されずに終了する。

 変更したPath環境変数を確認するには、新たにコマンドプロンプトを起動し、「path」コマンドを実行する。以下のようにPath環境変数の内容が表示される。システム環境変数Pathの内容に続いて、ユーザー環境変数Pathの内容が列挙されているはずだ。

設定されたPath環境変数
設定されたPath環境変数
Pathの値は「set path」や「path」コマンドで確認できる。システム設定とユーザー設定の結果が両方結合されて表示されている。

 注意が必要なのは、環境変数の設定が完了しても、その結果は既に起動中のアプリケーションやプロセス、コマンドプロンプトなどには反映されない、という点だ。環境変数を変更したら、コマンドプロンプトやアプリケーションなどをいったん閉じてから再実行すること。

 特にシステム環境変数の値を変更した場合は、一度サインアウトして再サインインしたり、場合によっては再起動したりしないと反映されないものもある。例えば、システム環境変数のTMPやTEMPを変更して、Windows OS自身が使う一時ファイルの保存場所を変更させた場合は(起動時に作成される幾つかのログファイルは、TMPで指定された場所に作成される)、有効にするためにはシステムの再起動が必要になる。

別の環境変数を間接参照してPathを設定すると便利

 上記の例では、Path環境変数にドライブ名から始まるフルパス名を直接指定している。しかし、場合によっては他の環境変数を使うと便利なことがある。

 例えば、OneDriveなどのクラウドドライブ上に「\Command」というフォルダを作成して、この中にコマンドを保存しているとしよう。この場合、PCのドライブ内に同期されているOneDriveのフォルダのパスが、「OneDrive」という環境変数に自動で設定される。そこでPath環境変数に「%OneDrive%\command」という値を追加しておくと、ユーザーフォルダの場所やドライブの構成などが変わっても、どのPC上でも同様に\Commandフォルダ内のコマンドを実行できるようになる。

 この場合、前述の[環境変数]画面やPathコマンドの結果では、OneDrive環境変数の値が展開されて表示される。だが、Path環境変数を設定する[環境変数名の編集]画面では、元の「%OneDrive%\command」という文字列のまま編集できる。

 環境変数を使う方法以外にも、例えばシンボリックリンクやジャンクションを使って、どのPCでも共通になるようなパスを作成しておき、それをPath環境変数に設定するという方法もある(以下の記事参照)。

 この間接参照のテクニックは、Path以外の環境変数にも応用できる。例えば、「LIB」という環境変数を、以下のようにシステム側とユーザー側の双方に設定したとする。

  • システム側: 「c:\systemlib;c:\commonlib;
  • ユーザー側: 「%LIB%;%USERPROFILE%\mylib

 「USERPROFILE」という環境変数には、サインイン中のユーザーのプロファイルフォルダ(デフォルトでは「C:\Users\ユーザー名」)が格納されている。仮に「TestUser」というユーザーアカウントでサインインしていた場合、実際のLIB環境変数の内容は以下のようになる。

LIB=c:\systemlib;c:\commonlib;;C:\Users\testuser\mylib;



 このようにすることで、Path以外の環境変数でも、全ユーザー共通の内容を設定しつつ、ユーザーごとの個別の内容も追加できるようになる。

■更新履歴

【2021/12/15】Windows 11に対応しました。

【2018/05/11】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る