Ответ 1
Примечание. Для действий ниже требуются административные привилегии. Для шаги, использующие командную строку, должны быть запущены через "Запустить как администратора "в Windows Vista/Windows 7.
Связать файлы *.pl с perl
Выполните следующие команды в командной строке:
assoc .pl=PerlScript
ftype PerlScript=C:\bin\perl.exe "%1" %*
Замените C:\Perl\bin\perl.exe
на путь к вашей установке на Perl. Эта
позволяет запускать myscript.pl
вместо perl myscript.pl
.
Место установки по умолчанию:
- ActivePerl:
C:\Perl
- Strawberry Perl:
C:\Strawberry
Добавьте .PL
в переменную среды PATHEXT.
Это позволяет Windows считать файлы *.pl исполняемыми при поиске
ДОРОЖКА. Он позволяет запускать myscript
вместо myscript.pl
.
Вы можете установить его для текущего сеанса cmd
set PATHEXT=%PATHEXT%;.PL
Чтобы установить его навсегда (под Windows Vista или Windows 7)
setx PATHEXT %PATHEXT%;.PL
В Windows XP вы должны использовать графический интерфейс:
- Щелкните правой кнопкой мыши Мой компьютер и выберите команду Свойства.
- Перейдите на вкладку "Дополнительно".
- Выберите переменные среды.
- Выберите PATHEXT, затем нажмите "Изменить".
- Добавить
;.PL
в текущее значение.
Сделать перенаправление ввода-вывода (только для WinXP)
Перенаправление ввода/вывода (например, program | myscript
) не работает для запущенных программ
через ассоциацию файлов. Для исправления проблемы существует патч реестра.
- Запустите редактор реестра.
- Найдите и выделите следующий раздел реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
- В меню "Правка" нажмите "Добавить значение", а затем добавьте следующее значение реестра:
- Имя значения:
InheritConsoleHandles
- Тип данных:
REG_DWORD
- Radix:
Decimal
- Данные значения:
1
- Имя значения:
- Закройте редактор реестра.
См. также Перенаправление STDIN/STDOUT может не работать при запуске из файловой ассоциации.
Если исправление реестра не является опцией program | perl -S myscript.pl
менее раздражает работу скриптов в вашей PATH.
Добавить обработчик кадрирования
Добавление обработчика переходов для Perl позволяет вам запустить Perl script с помощью перетаскивания; например перетаскивание файла по значку файла в проводнике Windows и его удаление там. Запустите следующий script, чтобы добавить необходимые записи в реестр:
use Win32::TieRegistry;
$Registry->Delimiter("/");
$perlKey = $Registry-> {"HKEY_CLASSES_ROOT/Perl/"};
$perlKey-> {"shellex/"} = {
"DropHandler/" => {
"/" => "{86C86720-42A0-1069-A2E8-08002B30309D}"
}};