コマンドプロンプトで作業していて
> hoge.py foo bar
のようなことをやりたかった。
hoge.pyをpython.exeに関連付けつつ、hoge.pyに引数foo, barも渡したい。
エクスプローラなどからGUIで関連付けしちゃうと、hoge.pyをpython.exeに関連付けることはできるが、引数が渡らなくなっちゃう。
そこで、コマンドプロンプトからassoc, ftypeコマンドを使って関連付けを設定する。
設定変更は、管理者権限のあるコマンドプロンプトから実行する。
assoc
拡張子とファイルタイプを紐付ける
設定確認
> assoc .py.py=Python.File
設定変更
> assoc .py=Python.File
ftype
ファイルタイプとアプリケーションを紐付ける設定確認
> ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
設定変更
> ftype Python.File="C:\Python27\python.exe" "%1" %*
GUIから設定した関連付けが残っているとそちらが優先されるようなので、削除しておこう。(以下リンク参照)
参考
[Windows] Pythonの関連付け設定
Windows 7(Vista)でファイルの関連付け情報を削除(解除)する