コンソールスクリプトが別ウィンドウで実行される
OSを再インスコして気づいたけど、PythonみたいなスクリプトファイルをPowerShellから直接実行しようとすると別ウィンドウに表示されるのな。
一方で py hello.py
とか python hello.py
とかやると、ちゃんとコンソールウィンドウを引き継いでくれる。
この動作は普通なのかなと思って、ちょっとググってみるが、どうやらそうっぽい。
- powershell - Run python programs without opening a separate shell - Stack Overflow
- windows - Run Python scripts in PowerShell directly - Super User
PATHEXT に .py を追加しておくと、従来のコマンドプロンプトと同じ動作になる。
毎回コンソールを立ち上げるたびに手動で PATHEXT を変更するのは面倒なので、大元の環境変数を変更しておくとよい。
PATHEXTの意味
PATHEXT の本来の目的は、拡張子の指定を省略することにある。.exe をつけなくても py.exe や ipconfig.exe が起動するのはそういう理由による。
PATHEXT に .py が追加されると、このように拡張子を省略してもファイルが実行されるようになる。