在没有扩展名的Windows上运行perl脚本

时间:2010-09-09 13:42:55

标签: perl executable

我正在尝试找到一种方法来将扩展名为.pl的文件注册为可执行文件。 我花了一些时间在网上寻找解决方案,但我找不到任何东西。

我能做什么: 我制作了一个剧本,我们称之为 myscript.pl
我可以像这样运行它:

perl myscript.pl [my_script_parameters]

既然该文件与perl相关联,我也可以将它作为:

运行
myscript.pl [my_script_parameters] 

现在,我知道有一些扩展名列表被视为可执行文件(。exe,.bat等等)。我想 .pl 添加到此列表,以便我可以像这样运行我的脚本:

myscript [my_script_parameters]

有谁知道怎么做?

3 个答案:

答案 0 :(得分:13)

是的,内置支持。如果您查看命令FTYPE的帮助,您将看到一个perl示例。

C:> help ftype

  

显示或修改使用的文件类型   在文件扩展名关联

     

FTYPE [fileType [= [openCommandString]]]

     

fileType指定要的文件类型   检查或更改openCommandString   指定要在何时使用的open命令   启动文件                       这种类型。

     

输入不带参数的FTYPE   显示当前的文件类型   有定义的开放命令字符串。   仅使用文件调用FTYPE   类型,它显示当前打开   该文件类型的命令字符串。   不为open命令指定任何内容   字符串和FTYPE命令   删除打开的命令字符串   文件类型。在一个开放的命令中   字符串%0或%1替换为   通过发布的文件名   关联。 %*获得所有   参数和%2获得第1名   参数,%3,第二,等等%~n   获取所有剩余参数   从第n个参数开始,其中   n可以在2和9之间,包括2和9。   例如:

ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
     

允许你调用Perl   脚本如下:

script.pl 1 2 3
     

如果你想消除这种需要   输入扩展名,然后执行   以下内容:

set PATHEXT=.pl;%PATHEXT%
     

可以调用脚本   如下:

script 1 2 3

答案 1 :(得分:6)

您只需将“; .PL”添加到PATHEXT环境变量即可。右键单击“我的电脑”&gt;属性&gt;高级&gt; <环境变量>系统变量。

答案 2 :(得分:-1)

您最好的方法是编写一个名为myscript.bat的批处理文件,将其放在您的路径中,让它运行您的脚本......例如。

@echo off
c:\perl\bin\perl.exe c:\scripts\myscript.pl %*