Windows マシンでファイルの関連付けを設定して.script
、拡張子を指定しなくても拡張子を持つファイルが実行されるようにしようとしています ( . .bat
、.ps1
、.py
ファイルなど)。
次のバッチファイルを使用して設定しました。
REG ADD HKCU\Environment /v PATHEXT /t REG_EXPAND_SZ /d "%%PATHEXT%%;.script"
REG ADD HKCU\Software\Classes\.script /ve /d "Script.File"
REG ADD HKCU\Software\Classes\Script.File /ve /d "Script file with hashbang line"
REG ADD HKCU\Software\Classes\Script.File\shell\open\command /ve /d "\"C:\WINDOWS\py.exe\" \"%%1\" %%*"
これはほとんど機能しますが、.script
ファイルを実行すると、現在のコンソール セッションではなく、新しいウィンドウで実行されます。
選択した拡張子を のよう.sf
に短いものに変更すると、正常に機能します。
コンソールで使用できるファイル拡張子に、3 文字未満でなければならないなどの制限はありますか?
(関連する場合、これは Windows 7、64 ビット上にあります)。
更新:これは Powershell でのみ発生するようです。CMD と TCC (TCC/LE) の両方が期待どおりに機能します (スクリプトはコンソール セッションで実行されます)。