如何从Cmd运行Perl脚本而不在脚本path前input“perl”?

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

没有perl

将.pl扩展名分配给perl解释器。 这取决于你的Windows版本如何做到这一点。

根据您使用的perl安装程序,它也可能会为您提供一个自动执行的选项。

你可以把它放在你的perl脚本文件的顶部:

 @SETLOCAL ENABLEEXTENSIONS @c:\strawberry-perl-port\perl\bin\perl.exe -x "%~f0" %* @exit /b %ERRORLEVEL% #!perl ....perl program goes here... 

您还需要更改脚本的扩展名,使其为.cmd而不是.pl。 上面的技巧运行草莓perl解释器,用-x开关跟着“%〜f0”调用它。 这是.cmd脚本的路径。 一旦你的perl程序完成,.cmd脚本就会退出。

#!perl下面的那一行是你实际的perl程序,perl.exe知道这个程序运行时会跳到这个程序:

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

有几个程序可以将.pl文件转换为.exe格式:

  • perl2exe (共享软件)
  • perlcc (免费软件)

转换之后,你可能仍然需要在你的系统上安装perl,但是exe文件自己找到了perl解释器。 (声明:我没有尝试任何这些)