コマンドプロンプトでの拡張子の関連付け
コマンドプロンプトでスクリプト等を実行する場合、そのファイル名を入力するだけで関連付けられたプログラムによって起動されます。 code:hello.py
print("hello, world!")
code:ext.log
hello.py
hello, world!
(.pyはPythonに関連付けられているものとします)
環境変数PATHEXTに拡張子を登録すると、拡張子を省略して起動することもできるようになります。 code:pathext.log
set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
hello
'hello' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
set pathext=%pathext%;.py
set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.py
hello
hello, world!
関連付けはコマンドで確認することもできます。
code:showassoc.log
assoc .py
.py=Python.File
ftype Python.File
Python.File="C:\Windows\py.exe" "%L" %*
関連付けを行うには、管理者権限が必要です。コマンドプロンプトを管理者権限で起動します。 code:makeassoc.log
assoc .vpy=Verbose.Python.File
.vpy=Verbose.Python.File
ftype Verbose.Python.File="C:\Windows\py.exe" -v "%L" %*
Verbose.Python.File="C:\Windows\py.exe" -v "%L" %*
hello.vpy
import _frozen_importlib # frozen
import _imp # builtin
:
import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x0000017D37944588>
Type "help", "copyright", "credits" or "license" for more information.
hello, world!
# clear builtins._
:
# cleanup3 wiping builtins =の後ろに何も書かないと削除になります。
code:delassoc.log
ftype Verbose.Python.File=
assoc .vpy=
ftype Verbose.Python.File
ファイル タイプ 'Verbose.Python.File' が見つからないか、オープン コマンドが関連付けられていません。
assoc .vpy
拡張子 .vpy のファイルの関連付けが見つかりません