ファイル拡張子(ファイルの種類)とアプリケーションの関連付け
WindowsのExplorer特定の拡張子を持つファイルをダブルクリックしたり、右クリックの「開く」、コマンドプロンプトでそのファイル名だけを入力して[Enter]を押して実行すると、その拡張子のファイルタイプのOPENアクションに関連づいている、アプリケーションが起動して元のファイルを開きます。
この時に実行されるコマンドライン文字列は、Windows XPなどではツールの「フォルダオプション」の「ファイルの種類」の「詳細設定」からOPENのコマンドライン文字列に設定できました。
ところが、Windows 7 (Windows Server 2008 R2)では、「フォルダオプション」には「ファイルの種類」はありません。たしかに、「コントロールパネル」>「プログラム」>「既定のプログラム」の「ファイルの種類または…」のページで基本的な関連付けはできます。しかし、このページに「詳細設定」ボタンが見当たりませんので、コマンドラインオプションを使用したい場合に設定できません。
たとえば、インストーラを使用せずにjavaをインストールしたマシンで、実行可能jar(Java ARchive) Fileをダブルクリックだけで起動したい場合に、どうすればいいのでしょうか…?
実は、以前からファイルの種類の関連付けのためのツールとして、assocとftypeというコマンドが用意されています。私は以下のサイトで知りました。Windows XPでもWindows 7(2008 R2)でも実行できます。
参考サイト:
「コマンドラインで、ファイルの関連付けを操作する方法 - Shigeya Tanabe's blog - Site Home - TechNet Blogs」
設定する場合には管理者権限が必要なので、コマンドプロンプトを右クリックして「管理者として実行」で起動しておきます。
assocコマンド
ASSOC [.拡張子[=[ファイルタイプ]]]
拡張子とファイルタイプとの関連付けを表示・設定します。
| 引数なし | → | すべての関連付けを表示 |
| .拡張子 | → | その拡張子に関連づいてる拡張子を表示 |
例:
C:\>assoc .txt .txt=txtfile C:\>assoc .bat .bat=batfile C:\>assoc .vsd .vsd=Visio.Drawing.11 C:\>assoc .sln .sln=VisualStudio.Launcher.sln
| .拡張子= | → | その拡張子の関連づけを削除 |
| .拡張子=ファイルタイプ | → | その拡張子とファイルタイプを関連づける |
例:
C:\>assoc .jar=jarfile .jar=jarfile
ftypeコマンド
FTYPE [ファイルタイプ[=[OPENコマンドライン文字列]]]
ファイルタイプとOPENコマンドラインの関連付けを表示・設定します。
| 引数なし | → | すべての関連付けを表示 |
| ファイルタイプ | → | そのファイルタイプに関連づいてるOPENコマンドライン文字列を表示 |
OPENコマンドライン文字列の%1にはそのファイルのパスが入ります。%2には第1引数…(以下同様)
例:
C:\>ftype txtfile txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1 C:\>ftype batfile batfile="%1" %* C:\>ftype Visio.Drawing.11 Visio.Drawing.11="C:\Program Files\Microsoft Office\Office14\VISIO.EXE" "%1" C:\>ftype VisualStudio.Launcher.sln VisualStudio.Launcher.sln="C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" "%1"
| ファイルタイプ= | → | そのファイルタイプの関連づけを削除 |
| ファイルタイプ=OPENコマンドライン文字列 | → | そのファイルタイプとOPENコマンドライン文字列を関連づける |
例:
C:\>ftype jarfile="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %* jarfile="C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*