我知道之前已经问过这个问题,但我发现的所有决议都不适用于我。这是我想要做的。
我需要能够通过键入以下命令提示符运行perl脚本:
helloworld param1 param2
如果我现在尝试这样做,我的参数不会在@ARGV中捕获。但是,如果我输入:
perl helloworld.pl param1 param2
参数在@ARGV中捕获。
我已就此主题的其他帖子做了以下内容:
assoc .pl=Perl
ftype Perl="C:\Perl\Bin\perl.exe" "%1" %*
我还点击了start-> deafault程序 - >将文件类型或协议与程序相关联。搜索.pl并浏览到C:\ Perl \ bin \ perl.exe。
我还使用regedit将HKCR \ Perl \ shell \ open \命令中的打开值更改为:
(Default) REG_SZ "C:\Perl\Bin\perl.exe" %1 %*
完成所有这些操作后,我仍无法通过输入以下内容来执行脚本:
helloworld param1 param2
对于我可能错过以使其发挥作用的任何其他意见或建议将不胜感激......
答案 0 :(得分:3)
你说你有
"C:\Perl\Bin\perl.exe" "%1" %*
但是您将其更改为
"C:\Perl\Bin\perl.exe" %1 %*
应该是前者。
使用您描述的设置,您应该使用
helloworld.pl param1 param2
^^^
如果您想省略.pl
,则必须将.pl
添加到PATHEXT
env var。
>set PATHEXT=.PL;%PATHEXT%
>type a.pl
print "$ARGV[0], $ARGV[1]!\n";
>a Hello World
Hello, World!
(当然,您可能希望通过更改启动环境而不仅仅是此shell来使更改更加永久。)
答案 1 :(得分:0)
我下载了以下应用程序:
http://creativelement.com/powertools/
我用它来创建.pl与perl.exe的关联,然后我可以用perl或.pl运行perl脚本,它也会接受我的参数。与我在这些帖子中阅读的所有内容相比,我不确定它做了什么,但我只是想与大家分享。
由于