こんにちは。ミドノン(@LearnMidonon)です。
「研究をしているときに自分が困ったこと」と「調べた解決法」を備忘録します。
今回は拡張子の無いファイルに関連付けを設定する方法です。
どう困ったのか
私はシミュレーションを用いて研究をしていました。
研究の過程で自作したソフトを用いて、多くのファイルを生成し、それらを解析していました。
logとかresみたいな拡張子のないテキストファイルです。
通常、ファイルをダブルクリックすると、拡張子ごとに対応するソフトで開かれます。
拡張子が.docxのファイルならWordで開かれます。
ですが、私の使っていたファイルは拡張子を持たないので、ダブルクリックするだけでは自動的に開かれません。
ダブルクリックして開こうとすると、「どのプログラムで開くのかを尋ねるダイアログ」が出現します。
もちろん、このダイアログから開くソフトウェアを選べば、普通に開くことができます。
この手順も数回であれば、そこまでの手間ではありません。
しかし、たくさんのファイルを扱うので、毎回指定するのは面倒でした。
そのため、拡張子のないファイルをダブルクリックして開く時、任意のプログラムで開く方法を調べました。
拡張子のないファイルを開くプログラムを指定する設定方法
- ファイルを開くプログラムのパスを調べる。
(今回は秀丸エディタ(C:\Program Files (x86)\Hidemaru\Hidemaru.exe) - コマンドプロンプトを起動する。
- C:\Users\Midonon> のように表示されている。
- 「assoc .=testfile」と入力してENTERキーを押す
( assocと.の間は半角スペース、「」は入力しない、以下同様) - 「ftype testfile= C:\Program Files (x86)\Hidemaru\Hidemaru.exe %1」と入力してENTERキーを押す(環境によっては「ftype testfile=C:\Program Files (x86)\Hidemaru\Hidemaru.exe %1」とフルパスとイコールの間のスペースを省かないとうまく行かないケースもあるそうです。2021/2/21追記)
- 「exit」と入力して ENTERを押すと、コマンドプロンプトが終了する。
コマンドプロンプトで何をしたのか
「assoc .=test file」 と入力することで、拡張子のないファイルの種類が「test file」となります。
ftypeコマンドで、test fileという種類のファイルを指定したプログラム(今回は秀丸)で開くように定義しています。
「%1」は第1引数(今回は、ダブルクリックしたファイル名そのもの)を表しており、このファイルを秀丸に開かせています。
これは自分の環境用に合わせたメモです。
詳しくは以下のサイトを参考にしてください。
参考サイト: @it: Windowsのコマンドプロンプトでファイル拡張子の関連付けを変更する
研究室のときはこんなふうに設定していたんですけど、よく考えたらわざわざ拡張子なしにtest fileを設定したりせず、出力するファイル自体に.resとか.compって拡張子をつけて、ソフトウェアと関連付ければ良かったですね…
コメント
ftype testfile= C:\Program Files (x86)\Hidemaru\Hidemaru.exe %1
=とフルパスの間の半角スペースは無くさないと、パスがうまくつながらなかったです。
環境の問題もあるかもしれませんが、一応報告します。
gg_man 様
報告ありがとうございます。
ご指摘いただいた点を記事に反映させていただきました。
ftype testfile= C:\Program Files (x86)\Hidemaru\Hidemaru.exe %1
このコマンドラインの=とCの間のスペースは消さないと動作しませんでした。
環境による気もしますが、一応報告します。
たなか 様
報告ありがとうございます。
ご指摘いただいた点を記事に反映させていただきました。