で、関連づけをコマンドラインで設定してやる方法ですが、次の様な手順で行います。
まず、ftypeというコマンドを使ってファイルタイプの設定を行います。(コマンドラインでftypeとだけ入力すると、現在のファイルタイプ一覧が表示されます。大量に出力されるのでテキストファイルにでも出力して確認しましょう。)
たとえば、exeファイルの場合 次の様に設定されています。
c:\>ftype | findstr "exefile" 「ftypeで出力された文字列からexefileと書かれた行を抜き出して表示する」
exefile="%1" %*
これは exefileというタイプのファイルはコマンドラインに ファイル名 とその後の引数を引き渡すということを示しています。(詳しくはftype /?でヘルプを確認して見てください。)
さて次はftypeで設定したファイルタイプを拡張子とひもづけします。
これはassocというコマンドで行います。(コマンドラインでassocとだけ入力すると、現在の関連づけ設定が表示されます。大量に出力されるのでテキストファイルにでも出力して確認しましょう。)
たとえばexeファイルの場合次のように設定されています。
c:\>assoc | findstr "exefile" 「assocで出力された文字列からexefileと書かれた行を抜き出して表示する」
.exe=exefile
これは 拡張子.exeのファイルがexefileというファイルの種類と設定されていることを示します。
最後に実行可能なファイルの場合、実行可能なファイルであることをシステム環境変数 PATHEXTに設定してやります。
これは必要に応じて行えばいいので、コマンドラインから set pathext=.exe;など設定してやってください。
なお、この環境変数、いろいろ設定されているかと思うので、変更前に
c:\>set pathext で現在の環境変数を確認して、それに追加する形で設定しましょう。
てなわけで、拡張子mzaのファイルを秀丸エディタに関連づけするのは以下のような手順です。
c:\>ftype mzafile="c:\Program Files\hidemaru\hidemaru.exe" %1
mzafile="c:\Program Files\hidemaru\hidemaru.exe" %1
c:\>assoc .mza=mzafile
.mza=mzafile
これで拡張子mzaファイルをダブルクリックすると秀丸エディタで開くように設定されました。
え? こんなんmzaファイルをダブルクリックしてmzaファイルを開くアプリケーションの設定をすればいいだろって?
まったくその通りなんですけどね、なにやったかよくわからないけど拡張子の関連づけをめちゃくちゃにしてexeすら起動できなくなってしまった悲しい人がいて、コマンドラインでexeとbatの拡張子設定を直してもらった後、バッチファイルで一気に修正ってなへんてこな作業をしたもので、何となくメモ残してみました。
追記:exeファイルやbatファイルの関連づけを吹っ飛ばして関連づけで直す場合、batファイルはMS-DOS バッチファイル、exeファイルはアプリケーションに関連づけてやると復旧できます。
にしても嗚呼懐かしのコマンドラインってな作業でした。