自作の便利スクリプトを便利に使う on Windows

Posted on Tue 29 January 2019 in Make everything as code

Python を Windows にインストールして、 まずはバッチファイルや VBA を Python に置き換える予定です。

ところで、せっかく書いた便利なスクリプトを便利に使いたいという欲求があります。 Linux であれば $HOME/bin に置いておくのが定石でしょう。今どきは $HOME/bin があればそこに Path を通すように設定してくれていたりもします。

Windows であれば %USERPROFILE%bin をつくって Path を通しておくのでしょうか。悪くはありませんが、Windows のコマンドプロンプトはあまり使い勝手が良いとは感じられません。やはり Windows ならマウス操作でスクリプトを実行させられたほうが良いでしょう。

ファイルを変換するとか、ファイルを引数に取るスクリプトは、コンテキストメニューの「送る」で実行するのが便利です。

Python の標準ライブラリだけ使うスクリプトであれば、そのスクリプトを「送る」に登録すれば充分です。ですが、仮想環境 を使いたい場合にどうするか? Python スクリプトの中で仮想環境を有効にする方法もあるかもしれませんが、調べるのにへこたれました。

ということでバッチファイルで仮想環境を有効化してからスクリプトを実行します。

たとえば次のように仮想環境をつくったとしましょう。

py.exe -m venv %USERPROFILE%\venv

バッチファイルは次のようにします。myscript.py が実行したいスクリプトです。

@echo off
call %USERPROFILE%\venv\Scripts\activate.bat
py.exe .\myscript.py %*

これでバッチファイルをつくって「送る」に登録します。バッチファイルからバッチファイルを呼び出す場合は call が必要になるところに注意します。