プロが教えるわが家の防犯対策術!

WindowsXPにActivePerl(5.16.3.1603)をインストールして、
コマンドラインに「perl script.scr」と入力して
スクリプトファイルは実行できるのですが、
スクリプトファイルの1行目に「#!/usr/bin/perl」を記述して、
コマンドラインに「script.scr」と入力して実行しようとすると、
「C:\・・・\script.scrは有効なWin32アプリケーションではありません。」
というメッセージが表示されて正しく実行できません。

perl.exeのあるフォルダをC:\usr\binフォルダにして、
1行目を
#!/usr/bin/perl
#!C:/usr/bin/perl
#!C:\usr\bin\perl
などいろいろ試してみましたが、どれも
前述のメッセージが表示されて実行できませんでした。
コマンドラインに「script.scr」と入力するだけで
実行することができるようにするには
どのようにすればいいのでしょうか。

script.scrの拡張子scrをplなどに変更して
この拡張子のファイルに対してperl.exeに関連付けることにより
script.plだけでも実行できるようにはなりますが
拡張子.scrではこの関連付けができませんので
#!/usr/bin/perl等を使用する方法で解決したいです。

ジャンクションとかApacheなどが全く分かりませんので
これらを使わずに簡単にできる方法がありましたら教えてください。
(なお使っても分かりやすい手順があれば可です)
よろしくお願いします。

A 回答 (1件)

ファイルの先頭を見て、#!だったらその行を実行コマンドとして実行、というのは、Unix系OSの機能です。


Windowsでは使えません。
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90% …

scr は、たしか、Windowsのスクリーンセーバー用に使われていたと思います。
どうしてもscrのままで、となると難しいと思います。

BATファイルに埋め込んで、shebang風に使う、という方法はあるのですが。
Windows shebangで検索するといくつか見付かります。
    • good
    • 0
この回答へのお礼

Windowsでは使えないということが分かりましたので、perl.exeに関連付けられた拡張子.plを使って実行するようにします。ありがとうございました。

お礼日時:2014/03/02 16:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!