如何在命令行中不用在Perl脚本路径前面输入"perl"来运行Perl脚本?

4
例如:perl C:\Projects\trunk\PcApps\BaseCamp\Test\smoketest.pl C:\Projects\trunk\PcApps\BaseCamp\Test\log.txt。 没有perl

可能是 Perl从命令行执行的问题 的重复。 - Sinan Ünür
3个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6

将.pl扩展名分配给perl解释器。如何操作取决于您的Windows版本。

根据您使用的perl安装程序,它可能还会提供自动执行此操作的选项。


2
只有当你想要在单独的 shell 中运行它时,才需要使用 start - ThiefMaster

2
您可以将以下代码放在您的Perl脚本文件顶部:
@SETLOCAL ENABLEEXTENSIONS
@c:\strawberry-perl-port\perl\bin\perl.exe -x "%~f0" %*
@exit /b %ERRORLEVEL%

#!perl

....perl program goes here...

您还需要更改脚本的扩展名,使其从.pl变为.cmd。上述技巧运行草莓perl解释器,使用-x开关调用它,后跟"%~f0"。这是.cmd脚本的路径。一旦perl程序完成,.cmd脚本将退出。

#!perl行下面的部分是您实际的perl程序,当该行运行时,perl.exe会跳过它:

@c:\strawberry-perl-port\perl\bin\perl.exe -x "path\to\my\perl.cmd" %*

这是一个巨大的救星。谢谢! - Quirk

0

有一些程序可以将您的.pl文件转换为.exe格式:

转换后,您可能仍然需要在系统上安装Perl,但exe文件会自己找到Perl解释器。(免责声明:我没有尝试过这些方法)


如果您在已经安装了Perl的计算机上运行它们,那么这可能有些过度。还有PAR::Packer可供选择。 - Wooble
"pl2bat"是一种更可靠的方法。 - ikegami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,