2

私はこの質問が以前に尋ねられたことを知っていますが、私が見つけたすべての解決策は私にとってはうまくいきませんでした。これが私がやろうとしていることです。

次のように入力して、コマンドプロンプトからperlスクリプトを実行できるようにする必要があります。

helloworld param1 param2

今これを行おうとすると、パラメータが@ARGVにキャプチャされません。ただし、次のように入力すると、次のようになります。

perl helloworld.pl param1 param2

パラメータは@ARGVにキャプチャされます。

私はこのトピックに関する他の投稿から次のことを行いました:

assoc .pl=Perl
ftype Perl="C:\Perl\Bin\perl.exe" "%1" %*

また、[スタート]->[デフォルトのプログラム]->[ファイルの種類またはプロトコルをプログラムに関連付ける]をクリックしました。.plを検索し、C:\ Perl \ bin\perl.exeを参照しました。

また、regeditを使用して、HKCR \ Perl \ shell \open\コマンドのオープン値を次のように変更しました。

(Default) REG_SZ "C:\Perl\Bin\perl.exe" %1 %*

これらすべてを実行した後でも、次のように入力してスクリプトを実行することはできません。

helloworld param1 param2

これを機能させるために私が見逃したかもしれないことに関する他のコメントや提案は大歓迎です...

4

2 に答える 2

3

あなたは持っていると言った

"C:\Perl\Bin\perl.exe" "%1" %*

しかし、あなたはそれを

"C:\Perl\Bin\perl.exe" %1 %*

前者のはずです。


あなたが説明したセットアップでは、使用する必要があります

helloworld.pl param1 param2
          ^^^

を省略したい場合は、 env var.plに追加.plする必要があります。PATHEXT

>set PATHEXT=.PL;%PATHEXT%

>type a.pl
print "$ARGV[0], $ARGV[1]!\n";

>a Hello World
Hello, World!

(もちろん、このシェルだけでなく、起動環境を変更して、変更をより永続的なものにしたいでしょう。)

于 2013-03-22T19:42:41.117 に答える
0

次のアプリケーションをダウンロードしました。

http://creativeelement.com/powertools/

これを使用して .pl と perl.exe の関連付けを作成すると、perl または .pl を使用せずに perl スクリプトを実行でき、パラメーターも受け入れられます。これらのスレッドで読んだすべてのものと比較して、それが何をしたかはわかりませんが、みんなと共有したいと思いました.

ありがとう

于 2013-03-25T15:00:08.840 に答える