【Windows 11対応】Path環境変数を設定/編集して、独自のコマンドを実行可能にする:Tech TIPS
Windows 10やWindows 11でよく使うコマンドやツールなどがあるなら、それらをまとめて1つのフォルダに保存しておき、そのパスを「Path」という環境変数に追加しておくとよい。Path環境変数をGUIで設定/編集する手順と注意点を詳しく紹介する。
対象: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環境変数の制限などについては、次の記事も参照していただきたい。
- Tech TIPS「Windowsのバッチファイルの基本的な使い方」
- Tech TIPS「環境変数のサイズやPATHの長さ制限に注意」
手順1――環境変数の設定画面を表示させるには
Path環境変数を設定するには、以下の手順で[環境変数]画面を開く。
- [Windows]+[Pause]キーを押して、[設定]アプリの[システム]−[バージョン情報]画面(Windows 10の場合は[Windowsの設定]アプリの[システム]−[詳細情報]画面)を開く
- [システムの詳細設定]リンクをクリックして、[システムのプロパティ]画面を開く
- [詳細設定]タブの右下にある[環境変数]ボタンをクリックして、[環境変数]画面を開く
意図した画面が開かない場合は、Tech TIPS「コントロールパネルの[システム](相当)や[システムのプロパティ]を素早く開く方法」を参照していただきたい。
Path環境変数には、ユーザーごとに固有の「ユーザー環境変数」と、システム全体で共通の「システム環境変数」の2つがある。ユーザーがシステムにサインインすると、この2つが結合されて(内部的には、システム環境変数Pathの後ろに、ユーザー環境変数Pathの内容が追加される)、これがコマンドプロンプトやアプリケーションなどに渡されることになる。
一般的には、ユーザー環境変数のPathを変更すればよいだろう。だが同じPCにサインインする複数のユーザーやアプリケーション、タスクなどで1つのコマンドフォルダを共有したい場合はシステム環境変数側のPathを編集する。
なお環境変数には、Path以外にもさまざまな変数が設定されているので、Pathを編集する場合には、用途に応じていずれかのPathを選んでから[編集]ボタンをクリックする。Pathを選ばずに[新規]や[編集]ボタンをクリックすると、Pathへの新規追加や編集が行えないので注意したい。
手順2――Path環境変数にパスを追加するには
編集したい方のPath変数を選んでからダブルクリックするか、[編集]ボタンをクリックすると、次のような編集画面が表示される。
新しいフォルダのパスを追加するには[新規]ボタンをクリックするか、空行の部分をダブルクリックする。するとパスの入力欄が表示されるので、そこに直接フルパス名を手動で入力するか、[Ctrl]+[V]キーでパスのテキストを貼り付ける。GUIでフルパスを指定したいなら、右にある[参照]ボタンをクリックして[フォルダーの参照]ダイアログを表示させればよい。
この画面を使って入力する場合、パスの末尾にセミコロンを付ける必要はない。追加したいパスを、1行に1つずつ書いていく。
追加したパスもしくはすでにあるパスの内容を修正するには[編集]を、削除するには[削除]ボタンをクリックする。
新規に追加したパスは必ず末尾に置かれるので、優先度を上げたければ[上へ]ボタンをクリックして移動させる。あるいは既存のパスを選んで[下へ]ボタンをクリックして、新規追加したパスより優先度を下げてもよい。前述の通り、上にある方が検索の優先度は高くなるし、ユーザー環境変数よりもシステム環境変数の方が先に検索される。
上記の入力編集画面は、フルパス名を2つ以上列挙するタイプの環境変数を選択すると自動的に表示される。そうでない(内容が複数のフルパス名でない)環境変数の場合や、上の画面で[テキストの編集]ボタンをクリックした場合は、Windows 8.1以前のようなシンプルな入力画面が表示される。
この画面には[ディレクトリの参照]や[ファイルの参照]ボタンがあるので(これらはWindows 8.1以前では利用できない)、これらを使うと、追加または変更したいファイルやフォルダのフルパスを間違いなく設定できる。
ちなみにユーザー環境変数とシステム環境変数の両方で同じ名前の変数を定義した場合は(デフォルトで設定されている「TMP」「TEMP」がこれに相当)、まずシステム環境変数が設定された後、ユーザー環境変数が設定される。これにより、結果的にはユーザー側の設定が優先されているように見える。システム環境変数側のみを利用したい場合は、ユーザー環境変数側の同名の変数を削除するとよい。
ただしPath環境変数の場合は例外で、前述のようにシステム側のPath設定の末尾に、ユーザー側のPath設定が追加される。
手順3――Path設定後の反映と確認をするには
環境変数の値や優先度などの設定が完了したら、[OK]ボタンを押して、[環境変数]の画面を閉じる。もし設定を間違えたり、削除してしまったりした場合は、[OK]ではなく、[キャンセル]を押すと、何も変更されずに終了する。
変更したPath環境変数を確認するには、新たにコマンドプロンプトを起動し、「path」コマンドを実行する。以下のようにPath環境変数の内容が表示される。システム環境変数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環境変数に設定するという方法もある(以下の記事参照)。
- OneDrive活用「環境変数やシンボリックリンクを活用してOneDriveの環境を揃える」
- Tech TIPS「Windowsのシンボリックリンクとジャンクションとハードリンクの違い」
この間接参照のテクニックは、Path以外の環境変数にも応用できる。例えば、「LIB」という環境変数を、以下のようにシステム側とユーザー側の双方に設定したとする。
- システム側: 「c:\systemlib;c:\commonlib;」
- ユーザー側: 「%LIB%;%USERPROFILE%\mylib」
「USERPROFILE」という環境変数には、サインイン中のユーザーのプロファイルフォルダ(デフォルトでは「C:\Users\ユーザー名」)が格納されている。仮に「TestUser」というユーザーアカウントでサインインしていた場合、実際のLIB環境変数の内容は以下のようになる。
LIB=c:\systemlib;c:\commonlib;;C:\Users\testuser\mylib;
このようにすることで、Path以外の環境変数でも、全ユーザー共通の内容を設定しつつ、ユーザーごとの個別の内容も追加できるようになる。
■この記事と関連性の高い別の記事
- Tech TIPS「【総まとめ】Windowsコマンドプロンプトの入門から使いこなしまでの記事」
- Tech TIPS「環境変数を変更する」
- 特集「WindowsでOneDriveを活用するためのテクニック集」
- Tech TIPS「Windowsのバッチファイルの基本的な使い方」
- 特集「超入門コマンドプロンプト」
- Tech TIPS「これだけは覚えておきたいWindowsのコマンドプロンプトの使い方」
■更新履歴
【2021/12/15】Windows 11に対応しました。
【2018/05/11】初版公開。
Copyright© Digital Advantage Corp. All Rights Reserved.