Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Windows のファイル拡張子の関連付け

More than 1 year has passed since last update.

概要

Windowsでは,実行形式(.exe)でないファイルをエクスプローラ上でダブルクリックしたり,コマンドプロンプト上で(まるでコマンドであるかのように)実行しようとした場合,そのファイルのファイル種別によって適切なアプリケーションやコマンドが起動され,そのファイルがオープンされます。たとえば,.xlsxファイルの場合は,エクセルが起動され,起動したエクセル上ではそのファイルがオープンされます。

ファイル拡張子がどのアプリケーションやコマンドに紐付けられているかは,エクスプローラ上でファイルを右クリックして「プロパティ > 全般」を開き,「ファイルの種類/プログラム」の欄で確認できたり変更できたりします。ファイル拡張子からアプリケーション,コマンドへの紐付けはレジストリ \HKEY_CLASSES_ROOT の下に記録されています。

本稿で述べる assoc コマンド,ftype コマンドを使えば,ファイル拡張子のコマンドへの紐付けをより細かく制御できます。

ファイル拡張子の関連付けを確認する方法

手順1: assoc コマンドでファイル種別を得ます。

> assoc .py
.py=Python.File

手順2: ftype コマンドでファイル種別に紐付けられたコマンド実行内容を確認します。

> ftype Python.File
Python.File="C:\WINAPP\Python\python.exe" "%L" %*

「%L」はファイルの名前,「%*」は残りのコマンド引数に置換されます。たとえば,上のように定義されている場合に,コマンドライン上でhello.py foo bar bazとタイプしたならば,C:\WINAPP\Python\python.exe hello.py foo bar bazが実行されることになります。

ファイル拡張子の関連付けを定義/変更する方法

assoc コマンドでファイル種別を定義/変更します。

> assoc .py=Python.File

ftype コマンドでファイル種別に紐付けられたコマンド実行内容を定義/変更します。「%L」と「%*」については,「ファイル拡張子の関連付けを確認する方法」を参照してください。

> ftype Python.File="C:\WINAPP\Python\python.exe" "%L" %*

ファイル拡張子の関連付けを削除する方法

assoc コマンドでファイル種別を削除します。

> assoc .py=

ftype コマンドでファイル種別に紐付けられたコマンド実行内容を削除します。

> ftype Python.File=
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away