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

コマンド・プロンプトでファイル拡張子の関連付けを変更する

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

デジタルアドバンテージ 打越 浩幸
2007/01/27
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
ファイルをダブルクリックすると関連付けされたアプリケーションが起動するが、この関連付け設定をコマンド・プロンプトから変更するには、assocとftypeコマンドを利用する。
assocコマンドでは、ファイルの拡張子に対してファイル・タイプ名を付ける。
ftypeコマンドでは、ファイル・タイプ名に対して、起動するコマンドを定義する。
 
解説

 Windows OSでは、例えばエクスプローラ上でファイル名をダブルクリックすると、そのファイルを作成したアプリケーションが起動する。このような仕組みをファイル・タイプの関連付けという。TIPS「ファイル・タイプの関連付けを変更する2つの方法」では、GUIの設定画面(エクスプローラの[ツール]−[フォルダ オプション]やファイルの[プロパティ]ダイアログ)を使って関連付けを変更する方法を紹介した。

 本TIPSでは、コマンド・プロンプト上からこの関連付け設定を行ったり、その内容を確認する方法を紹介する。

操作方法

 コマンド・プロンプト上でファイル・タイプの関連付けを操作するコマンドには、assocとftypeの2つがある。これら2つのコマンドを組み合わせて、関連付けを設定する。ただしこれらのコマンドを実行するには、Power Usersもしくは管理者権限が必要である。

ステップ1――ファイル拡張子にファイル・タイプを定義付ける

 例えば、.mytextというファイル拡張子を新しく定義し、sample.mytextというファイルをダブルクリックするとメモ帳が開くようにしたいとする。この場合、まず.mytextというファイルに対して、assocコマンドで「ファイル・タイプ」を定義する。assocコマンドの使い方は「assoc /?」や「help assoc」で確認できるし、何も引数を付けずに実行すると、現在定義されているファイル・タイプの一覧が表示される。

C:\>assoc …現在定義されているファイル・タイプの表示
.323=h323file …実行結果
.386=vxdfile
.3df=Crystal.Chart
.3g2=QuickTime.3g2
.3gp=QuickTime.3gp
…(以下省略)…

C:\>assoc .txt …例:.txtのファイル・タイプの確認
.txt=txtfile …実行結果

 .mytextというファイルに対してファイル・タイプを定義するには、次のようにする。ファイル・タイプ名は、既存のものと同じでなければ、何でもよい(空白文字は含まないこと)。ここではmytextfileという名前にしてみた。

C:\>assoc .mytext=mytextfile …assocコマンドの実行
.mytext=mytextfile …実行結果

C:\>assoc .mytext …確認
.mytext=mytextfile …実行結果

ステップ2――ファイル・タイプに対して起動するプログラムを定義付ける

 ファイル・タイプを定義したら、次は、ftypeコマンドで、そのファイル・タイプに対して実行するコマンド(ダブルクリックしたときに起動するコマンド)を定義付ける。ftypeコマンドの使い方は、「ftype /?」や「help ftype」で確認できる。また、現在定義されているコマンドの一覧は引数なしでftypeコマンドを実行すると表示される。

C:\>ftype …現在定義されているコマンドの表示
3DStudio.GMAX=C:\Program Files\gmax\gmax.exe %1
Access.ADEFile.11="C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" /NOSTARTUP "%1"
Access.ADEFile.9=C:\PROGRA~1\MICROS~2\Office\MSACCESS.EXE /NOSTARTUP "%1"
…(以下省略)…

C:\>assoc .txt …例:.txtのファイル・タイプの確認
.txt=txtfile …実行結果

C:\>ftype txtfile …txtfileタイプのコマンドの表示
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1 ……実行結果

 先ほど定義したmytextfileというファイル・タイプに対して、例えばメモ帳を起動するには次のようにする。

C:\>ftype mytextfile=notepad.exe %1 …メモ帳の関連付け
mytextfile=notepad.exe %1 …実行結果

C:\>ftype mytextfile …定義結果の確認
mytextfile=notepad.exe %1 …結果

 「mytextfile=notepad.exe %1」は、notepad.exeというコマンドに対して、%1という引数を付けて起動するという意味である。「%1」は第1引数(ダブルクリックしたファイル名そのもの)を表す。複数の引数がある場合は、以後の引数は%2、%3、……として参照できるし、「%*」とすればそれらをまとめて利用することもできる。例えば、コマンド・プロンプトで「sample.mytext abc def」とすれば、%1はc:\sample.mytext、%2はabc、%3はdef、%*はabc defのようになる。ただしメモ帳では2つ以上の引数を付けて起動するとエラーとなるので(例:「notepad abc.txt def.txt」とすると、「abc.txt def.txt」という1つのファイルを開こうとする)、注意していただきたい。%2や%*は、複数の引数を処理できるコマンドでのみ意味がある。

定義の削除

 ユーザーが追加したassocやftypeの定義は、「=」記号の右側を空にして実行すると削除できる(ただしOSのバージョンによってはエラーになることがある)。

C:\>assoc .mytext= …ファイル・タイプの削除

C:\>ftype mytextfile= …関連付けられたコマンドの削除

 以上のようにしてassocとftypeコマンドでファイルの拡張子に対して関連付けを行うと、以後はエクスプローラ上でsample.mytextファイルをダブルクリックしたり、コマンド・プロンプト上でsample.mytextと入力するだけでメモ帳が起動し、sample.mytextファイルが開かれる。1度定義された関連付け設定は、レジストリに記録され、再起動したり、ほかのユーザーがログオンしても利用できる。

 なおコマンド・プロンプト上でファイルを開くためには、sample.mytextのように(もしくはstart sample.mytextとする)、ファイルの拡張子まできちんと入力しなければならない。単にsampleと入力するだけでftypeで定義したコマンドを起動する方法については、TIPS「実行ファイルの拡張子を追加定義する」を参照していただきたい。End of Article

この記事と関連性の高い別のWindows TIPS
ファイル・タイプの関連付けを変更する2つの方法
実行ファイルの拡張子を追加定義する
これだけは覚えておきたい、コマンド・プロンプトの使い方
バイナリ・ファイルの内容をメモ帳で確認する
ファイルの拡張子をまとめて変更する(コマンド・プロンプト編)
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

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

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

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

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

@IT Sepcial
ソリューションFLASH