スクリプトの起動

例えば Perl 等を使ったスクリプトを書いたとする。 Windows 上でそれを起動するにはどのようにコマンド入力すればよいだろう? 例えばこんな感じだろうか。

c:\work> perl hoge.pl

これを単一のコマンドとして実行したい場合にバッチファイルを作っておく方法が紹介されていた。

http://d.hatena.ne.jp/hyuki/20090821/twitter

しかし、バッチファイルを作る方法が定番だったのは古い Windows でのことだ。 スクリプトの拡張子に然るべき関連付をしておけば手間をひとつ省略できる。
具体的には以下のコマンドを実行すれば拡張子 .pl がついたスクリプトは perl.exe に渡されるように設定される。

assoc .pl=PerlScript
ftype PerlScript=perl.exe "%1" %*

エクスプローラのフォルダオプションからファイルの種類を選んで関連付することも可能だがここで手順は説明しない。

設定ができたら試しにスクリプトファイル名をそのまま入力してみるといい。

c:\work> hoge.pl

これだけで起動されるはずだ。

拡張子も省略したいならば環境変数 PATHEXT に .pl を追加することで実現できる。

set PATHEXT=.pl;%PATHEXT%

但し、環境変数の設定はコンソールごとにローカルなので、恒久的な設定にするにはコントロールパネルから「システム」を選び、「詳細設定」タブ、「環境変数」ボタンをクリックしてユーザー環境変数を「新規作成」あるいは「編集」する必要がある。 PATHEXT に設定する拡張子にはドットまで含めることも要注意な点だ。
もしかすると ActivePerl のように Windows 用のインストーラがあるものならこれらの設定は勝手にやってしまっているかもしれない。 私自身は使っていないので確かめていないが。

さて、ここでは Perl を例にとって説明したが、もちろん Ruby でも Python でも Gauche でも同様に可能だ。 日常的にスクリプトを書いて利用しているならばこれらの設定はやって損なものではないだろう。

Document ID: db00d34ed10957b8f948ec9316ac6aa8