Windows 我如何从Cmd运行Perl脚本而不键入";perl";在脚本路径前面?
例如Windows 我如何从Cmd运行Perl脚本而不键入";perl";在脚本路径前面?,windows,perl,cmd,Windows,Perl,Cmd,例如perl C:\Projects\trunk\PcApps\BaseCamp\Test\smoketest.pl C:\Projects\trunk\PcApps\BaseCamp\Test\log.txt 不使用perl将.pl扩展名分配给perl解释器。 这取决于你的Windows版本,你是如何做到这一点的 根据您使用的perl安装程序的不同,它还可能为您提供自动执行此操作的选项。有一些程序可以将.pl文件转换为.exe格式: (共享软件) (免费软件) 转换后,您可能仍然需要在系统
perl C:\Projects\trunk\PcApps\BaseCamp\Test\smoketest.pl C:\Projects\trunk\PcApps\BaseCamp\Test\log.txt
不使用
perl
将.pl扩展名分配给perl解释器。
这取决于你的Windows版本,你是如何做到这一点的
根据您使用的perl安装程序的不同,它还可能为您提供自动执行此操作的选项。有一些程序可以将
.pl
文件转换为.exe
格式:
- (共享软件)
- (免费软件)
转换后,您可能仍然需要在系统上安装perl,但exe文件会自行找到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" %*
您只需要在单独的shell中启动它,如果您在已经安装了Perl的机器上运行它们,那么这可能会有些过分。还有PAR::Packer。这可能是一个巨大的救生圈。谢谢