Как запустить скрипт Perl из Cmd, не вводя perl перед путем к скрипту? - PullRequest
3 голосов
/ 06 ноября 2010

Например perl C:\Projects\trunk\PcApps\BaseCamp\Test\smoketest.pl C:\Projects\trunk\PcApps\BaseCamp\Test\log.txt

Без perl.

Ответы [ 3 ]

6 голосов
/ 06 ноября 2010

Назначьте расширение .pl интерпретатору perl. Как это сделать, зависит от вашей версии Windows.

В зависимости от используемого вами установщика perl, он также может предоставить вам возможность сделать это автоматически.

2 голосов
/ 21 января 2012

Вы можете поместить это в верхнюю часть файла вашего скрипта Perl:

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

#!perl

....perl program goes here...

Вам также необходимо изменить расширение вашего скрипта, чтобы оно было .cmd вместо .pl.Приведенный выше трюк запускает интерпретатор Perl Strawberry, вызывая его с ключом -x, за которым следует «% ~ f0».Это путь к сценарию .cmd.Сценарий .cmd завершится после завершения вашей perl-программы.

Бит под строкой #! Perl - это текущая программа perl, которую perl.exe знает, как пропустить при запуске этой строки:

@c:\strawberry-perl-port\perl\bin\perl.exe -x "path\to\my\perl.cmd" %*
0 голосов
/ 06 ноября 2010

Есть несколько программ, которые могут преобразовать ваш .pl файл в .exe формат:

После преобразования вам может понадобиться установить perl в вашей системе, но exe-файл сам находит интерпретатор perl.(Отказ от ответственности: я не пробовал ничего из этого)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...