拡張子とアプリケーション

Windowsではファイルの拡張子がファイルの種類を示しており、ファイルエクスプローラから対象ファイルをダブルクリックすると、拡張子に関連付けられたアプリケーションが起動する仕組みになっている。拡張子と起動するアプリケーションの関連付けは設定で変更することが可能で、デフォルトで使いたいアプリケーションを変更する場合などは設定を変更すると便利だ。

設定 - 拡張子とアプリケーションの結び付け

Windowsではassocとftypeという2つのコマンドを使って、拡張子と起動するアプリケーションの関連付けを編集したり閲覧したりすることができる。assocコマンドとftypeコマンドの主な使い方は次のとおり。

コマンド 内容
assoc 拡張子とファイルタイプを一覧表示
assoc .拡張子 拡張子とそのファイルタイプを表示
assoc .拡張子=ファイルタイプ 拡張子にファイルタイプを結び付け
assoc .拡張子= 拡張子とファイルタイプ結び付けを解除
コマンド 内容
ftype ファイルタイプと起動コマンドを一覧表示
ftype ファイルタイプ ファイルタイプと起動コマンドを表示
ftype ファイルタイプ=コマンド %1 ファイルタイプと起動コマンドを結び付け
ftype ファイルタイプ= ファイルタイプと起動コマンドの結びつきを解除

assocコマンドとftypeコマンドは引数を何も指定しないで実行すると現在設定されている内容を一覧表示してくれるので、実行してみてほしい。なお、拡張子の結び付けを変更するには管理者権限が必要になる。コマンドプロンプトを管理者権限で起動して、以降の作業を試して見てほしい。

assocコマンドの実行例

ftypeコマンドの実行例

assocコマンドとftypeコマンドはそれぞれ「assoc .拡張子=ファイルタイプ」「ftype ファイルタイプ=コマンド」のように設定を行う。つまり、この2つのコマンドを実行することではじめて拡張子が起動コマンドに結び付けられることになる。

.cをエディタに結び付ける

Windows 10のデフォルトではC言語のソースコードを意味する拡張子.cは関連付けられていない。ここでassocコマンドとftypeコマンドを使って結びつけを行ってみよう。まず、次のようにassocで.cに対して関連付けが行われているかどうか調べてみる。

拡張子.cに何も関連付けが行われていないことを確認

この状態では、ファイルエクスプローラで対象ファイルを見てもアイコン表示がただのファイルになっている。

結び付けられたアプリケーションがないため表示がデフォルトファイル

起動するアプリケーションが紐付けられていないので、ファイルをダブルクリックすると次のようにどのアプリケーションで起動するのかを聞かれることになる。

起動するアプリケーションを聞かれる

ここで次のようにassocコマンドとftypeコマンドを実行する。assocコマンドで拡張子.cをCSourceFileというファイルタイプとして定義し、CSourceFileに対してはVisual Studio Codeが起動してくるといった指定を行っている。Visual Studio Codeは今もっとも人気の高いエディタアプリケーションのひとつだ。

拡張子.cをVisual Studio Codeに結び付ける

ftypeコマンドではVisual Studio Codeアプリケーションのパスの後に%1を指定しているが、これは指定されたファイルパスに展開される仕組みになっている。ここでは次のような%変数を指定できる。

変数 内容
%0 指定されたファイル名
%1 指定されたファイル名
%2 1つ目のパラメータ
%3 2つ目のパラメータ
%4 3つ目のパラメータ
%5 4つ目のパラメータ
%6 5つ目のパラメータ
%7 6つ目のパラメータ
%8 7つ目のパラメータ
%9 8つ目のパラメータ
%* すべてのパラメータ

このコマンドを実行してから、先ほどと同じようにファイルエクスプローラから拡張子.cファイルを開こうとすると、次のように候補にVisual Studio Codeが表示されるようになる。

拡張子.cファイルにVisual Studio Codeが結び付けられていることがわかる

以降はファイルエクスプローラからダブルクリックするだけで拡張子.cに対してVisual Studio Codeが起動してくるようになる。

Visual Studio Codeで開かれたC言語で記述されたソースコードファイル

設定した結びつけは次のように=のあとを空にしてコマンドを実行することで解除することができる。

拡張子やファイルタイプとの結びつきを解除

結びつきを解除した後で同じように拡張子.cファイルをダブルクリックすると、次のような警告が出てきてアプリケーションは起動しないようになる。

結び付けられたアプリケーションが存在しないというエラーメッセージが出力される

普段はGUIから操作することが多いと思うが、このようにassocコマンドとftypeコマンドを利用することでコマンドから拡張子とアプリケーションの結び付けを実施することができる。コマンドを利用することでWindowsのさまざまな設定を変更できるという、その一端を感じてもらえれば幸いだ。

参考資料