Windows Server 2012 R2 Perl Ассоциация типов файлов

417
BlueMonkMN

Я не могу понять, почему Perl-скрипты не получают аргументы командной строки в моей среде. Я запустил эту серию команд, чтобы попытаться проверить все конфигурации и продемонстрировать вывод проблемы.

C:\Users\bmarty\Desktop>assoc .pl .pl=PerlScript  C:\Users\bmarty\Desktop>ftype PerlScript PerlScript=c:\tools\Perl64\bin\perl5.16.3.exe "%1" %*  C:\Users\bmarty\Desktop>.\test.pl a b c  C:\Users\bmarty\Desktop>c:\tools\Perl64\bin\perl5.16.3.exe .\test.pl a b c abc 

Как видите, есть разница между командной строкой по умолчанию для файлов PL и той, что я набрал вручную, и я не могу понять, почему.

0

1 ответ на вопрос

1
BlueMonkMN

Видимо HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.plпереопределяет assocи ftypeинформацию, хранящуюся в HKEY_CLASSES_ROOT. Удаление ключа .pl решило проблему.

Не ясно, есть ли способ решить эту проблему, кроме непосредственного редактирования реестра в Windows 2012 R2 (в предыдущих версиях Windows были редакторы ассоциации типов файлов в графическом интерфейсе, но Windows 2012 R2, похоже, не имеет этого).

Похожие вопросы