Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

実行ファイルの拡張子を追加定義する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2007/01/27
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
環境変数PAHTEXTに実行ファイルの拡張子を登録しておくと、拡張子なしでもコマンドとして認識され、実行される。
PATHEXTには、実行ファイルの拡張子をセミコロン記号で区切って並べておく。複数合致する場合は、先頭の方が優先される。
システム環境変数のPATHEXTに登録しておくと、システム全体で有効になる。
 
解説

 TIPS「コマンド・プロンプトでファイル拡張子の関連付けを変更する」では、任意のファイル拡張子に対してコマンドを関連付ける方法を紹介した。例えば.mytextというファイル拡張子に対してメモ帳を関連付ければ、エクスプローラ上でsample.mytextファイルをダブルクリックするだけで、メモ帳を起動し、ファイルを開いて編集することができる。

 コマンド・プロンプトから実行する場合は、「sample.mytext」と指定するか「start sample.mytext」とすることにより、同様にメモ帳で開くことができる。だがいちいち拡張子(.mytext)を指定するのは面倒なので、.exeや.batのようなコマンドと同様に、「sample」と入力するだけで実行したい場合は、実行用の拡張子を新たにシステムに登録すればよい。本TIPSでは、この方法を紹介する。

操作方法

環境変数PAHTEXTによるファイル拡張子の補完

 ユーザーがコマンド・プロンプト上でコマンドを入力した場合、先頭の名前がコマンド名として扱われる。そのコマンド名に拡張子が付いており、一致するファイル名が(PATH環境変数の指す場所に)存在していれば、そのファイルが実行される。

 だが拡張子が存在しない場合は(例:sample.mytextではなく単にsampleとする)、環境変数PATHEXTの内容を基にして、一致するファイル名が存在するかどうかがチェックされる。

C:\>set pathext …PATHEXT変数の内容の確認
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH …結果

 この例では.COMや.EXE、.BATなどの拡張子がセミコロン記号で区切られて、いくつか定義されている。これは実行ファイルの拡張子を定義する環境変数である。コマンド・プロンプトが実行ファイルを検索する場合、このリストの先頭の方から順に、一致するファイルが存在するかどうかがチェックされる。例えばsampleというコマンド名なら、sample.com→sample.exe→sample.bat→……→sample.vbsという順にファイルが検索され(検索する場所もPATH環境変数に基づいて順に試行される)、一致すれば、そのファイルが実行される(実行されるコマンドはassocやftypeコマンドで指定したものになる)。

 このような仕組みのため、ユーザー独自の拡張子のファイルを拡張子なしでも実行したければ、PATHEXT環境変数に新しいパスを追加すればよい。例えばPATHEXT変数の末尾に文字列を追加するには、次のようにする。

C:\>set pathext …元の状態の確認
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH …元の状態

C:\>set pathext=%pathext%;.mytext …末尾に拡張子を1つ追加する

C:\>set pathext …結果の確認
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.mytext …結果

 この状態で単にsampleとだけ入力すると、ファイルsample.mytextが(もし存在すれば)実行ファイルとして扱われ、関連付けされたコマンドが起動する。

恒久的な設定の変更

 以上の方法で設定を変更しても、コマンド・プロンプトを終了すればその設定が失われてしまう。別のコマンド・プロンプトを起動すると、PATHEXT変数の内容は元の状態に戻っているので、必要ならばまた設定を行わなければならない。

 このような面倒を避け、PATHEXT変数に対する変更を恒久的なものにするには、システム環境変数を変更すればよい。システム環境変数とは、環境変数の元となる設定のことであり、1度設定しておけばすべてのプログラムやコマンド・プロンプトへその内容が引き継がれる。システム環境変数のPATHEXTの内容を変更するには、[コントロール パネル]の[システム]を起動する(もしくは[マイ コンピュータ]を右クリックして[プロパティ]を実行する)。そして[詳細]タブから[環境変数]をクリックし、[システム環境変数]にある「PATHEXT」変数の値を編集する。

システム環境変数PATHEXTの編集
PATHEXT変数に対する設定変更を恒久的なものにするには、[コントロール パネル]の[システム]にある[環境変数]ダイアログで設定する。
  [システム環境変数]の中にあるPATHEXTを選択する。
  これをクリックして、新しい拡張子をセミコロン記号で区切って追加する。

 この変数の値を変更後、新しくコマンド・プロンプトを起動するとそれが反映されているはずだ。End of Article

関連記事(Windows Server Insider)
連載Windows 2000 コマンドライン徹底活用 第3回
 
この記事と関連性の高い別のWindows TIPS
環境変数を変更する
WSHで環境変数を設定する
setxで環境変数の値を設定する(基本編)
whichコマンドを作る
コマンド・プロンプトでファイル拡張子の関連付けを変更する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH