assoc / ftype - ファイルの関連付け

にメンテナンス済み

エクスプローラーで .txt ファイルをダブルクリックするとメモ帳が開くのは、拡張子とアプリが関連付けられているためです。

assoc と ftype は、この関連付けをコマンドプロンプトから確認・変更するためのコマンドです。

assoc と ftype の役割の違い

Windows の関連付けは、次の 2 段階で成り立っています。

  1. 拡張子 → ファイルの種類(assoc が扱う)
  2. ファイルの種類 → 実行するコマンド(ftype が扱う)
コマンド扱う内容例
assoc拡張子とファイルの種類の対応.txt → txtfile
ftypeファイルの種類と実行コマンドの対応txtfile → メモ帳で開くコマンド

つまり .txt ファイルを開くとき、Windows は assoc の情報から「txtfile」という種類を調べ、ftype の情報から実際に起動するプログラムを決めます。

cmd.exe の内部コマンド

assoc と ftype は cmd.exe に組み込まれた内部コマンドです。PowerShell には同名のコマンドレットがないため、PowerShell から使うときは cmd /c assoc .txt のように cmd /c を付けて実行します。

assoc の使い方

関連付けを確認する

構文
assoc [.拡張子[=[ファイルの種類]]]

拡張子を指定すると、その拡張子に対応するファイルの種類が表示されます。

.txtの関連付けを確認
assoc .txt
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>assoc .txt
.txt=txtfile
C:\users\user>

引数を付けずに実行すると、登録されているすべての関連付けが一覧表示されます。件数が多いので、findstr や more と組み合わせると便利です。

拡張子を絞り込んで表示
assoc | findstr /i "\.htm"
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>assoc | findstr /i "\.htm"
.htm=htmlfile
.html=htmlfile
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

パイプの使い方は、

を参照してください。

表示内容は環境によって異なります

ファイルの種類の名前は、インストールされているアプリによって変わります。たとえば .html は、ブラウザーによって htmlfile、ChromeHTML、MSEdgeHTM などの名前になります。

関連付けを変更・削除する

= の右側にファイルの種類を指定すると、拡張子との対応を設定できます。

.logをtxtfileと同じ種類にする
assoc .log=txtfile

= の右側を空にすると、その拡張子の関連付けを削除できます。

.logの関連付けを削除
assoc .log=
変更には管理者権限が必要です

関連付けの変更は、レジストリの HKEY_LOCAL_MACHINE\Software\Classes に書き込まれます。通常のコマンドプロンプトでは「アクセスが拒否されました」と表示されるため、

を参考に管理者として実行してください。

ftype の使い方

ファイルの種類に対応するコマンドを確認する

構文
ftype [ファイルの種類[=[開くコマンド文字列]]]

ファイルの種類を指定すると、そのファイルを開くときに実行されるコマンドが表示されます。

txtfileの開き方を確認
ftype txtfile
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>ftype txtfile
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
C:\users\user>

%1 の部分には、開こうとしているファイルのパスが入ります。環境によっては %L(ファイルのパス)や %*(残りの引数)が使われていることもあります。引数なしで ftype を実行すると、すべてのファイルの種類とコマンドが一覧表示されます。

開くコマンドを変更する

txtfileを別のエディターで開くように設定
ftype txtfile="C:\Program Files\MyEditor\editor.exe" "%1"

パスにスペースが含まれる場合は、実行ファイルのパスを " で囲みます。ファイルのパスを表す %1 も、スペースを含むファイル名に対応できるよう "%1" と囲むのが基本です。

バッチファイルでは %% が必要

バッチファイルの中で %1 を書く場合は、%%1 のように % を 2 つ重ねてください。そうしないと、バッチファイル自身の第 1 引数に置き換わってしまいます。詳しくは

を参照してください。

ftype も assoc と同様に、変更には管理者権限が必要です。

実践例

拡張子を新しく登録して、指定のアプリで開く

.myd という拡張子を新たに用意し、独自のアプリで開く例です。管理者として実行してください。

register-myd.bat
@echo off
rem .myd を MyDataFile という種類として登録
assoc .myd=MyDataFile

rem MyDataFile の開き方を設定
ftype MyDataFile="C:\Tools\mydata.exe" "%%1"

拡張子に対応するアプリを調べる

assoc で種類を調べ、ftype でコマンドを調べるという流れで、拡張子ごとの動作を確認できます。

.pyを開くコマンドを調べる
assoc .py
ftype Python.File

2 行目の Python.File は、1 行目で表示されたファイルの種類を指定します。

ftype の一覧から特定のアプリを探す

メモ帳が関連付けられている種類を探す
ftype | findstr /i "notepad"

設定が反映されないときは

assoc や ftype を変更しても、ダブルクリックで開くアプリが変わらないことがあります。

Windows Vista 以降では、ユーザーが「このアプリで常に開く」を選んだ内容が、ユーザーごとのレジストリ(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.拡張子\UserChoice)に保存されます。この設定は assoc や ftype の内容より優先されます。

  • assoc / ftype は、**マシン全体の既定の関連付け(ProgID)**を書き換えるコマンドです。ユーザーが選んだ既定のアプリ(UserChoice)が別の ProgID を指している場合は、そちらが優先され、変更が反映されません。
  • 既定のアプリを変えたい場合は、Windows の「設定」の「アプリ」にある「既定のアプリ」で変更してください。
  • assoc / ftype が表示するのは HKEY_CLASSES_ROOT の内容であり、ユーザーが「設定」で選んだ既定のアプリ(UserChoice)は反映されません。
start コマンドで確認する

実際にどのアプリで開かれるかは、start "" ファイル名 で確認できます。start は関連付けに従ってファイルを開きます。詳しくは

を参照してください。

まとめ

  • assoc は「拡張子 → ファイルの種類」、ftype は「ファイルの種類 → 開くコマンド」を扱う
  • 引数なしで一覧、assoc .拡張子 や ftype 種類 で個別の確認ができる
  • = で設定、= の右を空にすると関連付けを削除できる(assoc .log= / ftype 種類=)
  • 変更には管理者権限が必要で、バッチファイル内の %1 は %%1 と書く
  • ユーザーが選んだ既定のアプリが優先されるため、反映されないときは「既定のアプリ」の設定を確認する

関連記事

練習問題

練習問題

assoc と ftype の説明として正しいものはどれでしょうか?

正しいものを 1 つ選んでください。

  1. 拡張子とファイルの種類の対応を扱うのは ftype で、種類と開くコマンドの対応を扱うのは assoc である
  2. 拡張子とファイルの種類の対応を扱うのは assoc で、種類と開くコマンドの対応を扱うのは ftype である
  3. どちらも拡張子と開くコマンドを直接対応付けるコマンドである

練習問題

.log の関連付けを削除するコマンドはどれでしょうか?

正しいものを 1 つ選んでください。

  1. assoc .log
  2. assoc .log=txtfile
  3. assoc .log=
#コマンドプロンプト #バッチファイル #コマンドライン #コマンド #assoc #ftype #関連付け