Запуск Perl-скрипта на Windows без расширения - PullRequest
9 голосов
/ 09 сентября 2010

Я пытаюсь найти способ зарегистрировать файлы с расширением .pl в качестве исполняемых файлов.Я провел некоторое время в Интернете в поисках решения, но ничего не смог найти.

Что я могу сделать: я создал скрипт, назовем его myscript.pl
Я могу запустить его так:

perl myscript.pl [my_script_parameters]

Теперь, так как файл связан с Perl, я также могу запустить его как:

myscript.pl [my_script_parameters] 

Теперь я знаю, что где-то естьсписок расширений, которые рассматриваются как исполняемые файлы (.exe, .bat и т. д.).Я хотел бы добавить .pl в этот список , чтобы я мог запустить свой скрипт так:

myscript [my_script_parameters]

Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

13 голосов
/ 09 сентября 2010

Да, для этого есть встроенная поддержка. Если вы посмотрите справку по команде FTYPE, вы увидите пример perl.

C:> help ftype

Отображение или изменение используемых типов файлов. в расширении файла ассоциации

FTYPE [fileType [= [openCommandString]]]

fileType Определяет тип файла для изучить или изменить openCommandString Определяет команду открытия для использования, когда запуск файлов этого типа.

Тип FTYPE без параметров для отображать текущие типы файлов, которые иметь открытые строки команд FTYPE вызывается только с файлом Тип, он отображает текущий открытый командная строка для этого типа файла. Ничего не указывайте для команды open строка и команда FTYPE удалить строку команды открытия для тип файла. В открытой команде Строка% 0 или% 1 заменяется на имя файла запускается через Ассоциация % * получает все параметры и% 2 получает 1-й параметр,% 3 второй и т. д.% ~ n получает все остальные параметры начиная с n-го параметра, где n может быть между 2 и 9 включительно. Например:

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

позволит вам вызвать Perl Сценарий выглядит следующим образом:

script.pl 1 2 3

Если вы хотите устранить необходимость введите расширения, затем выполните следующее:

set PATHEXT=.pl;%PATHEXT%

и сценарий может быть вызван как следующим образом:

script 1 2 3
6 голосов
/ 09 сентября 2010

Вы можете просто добавить «; .PL» в переменную окружения PATHEXT. Щелкните правой кнопкой мыши «Мой компьютер»> Свойства> Дополнительно> Переменные среды> Системные переменные.

0 голосов
/ 09 сентября 2010

Ваш лучший подход - написать командный файл с именем myscript.bat, поместить его в свой путь и запустить скрипт. Например,

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