ассоциация файла perl из командной строки не работает - PullRequest
2 голосов
/ 13 марта 2019

Я хочу выполнять сценарии perl из командной строки без использования «perl» перед именем сценария, а также не хочу использовать «Открыть с помощью», «Выбрать программу» и «Всегда использовать эту программу». Я пробовал следующие методы из различных ответов в переполнении стека, но все еще не был успешным в выполнении сценария. Я запускаю их на "ОС Windows Server 2016"

Я установил Strawberry Perl в "C: \ Strawberry \ perl \ bin \ perl.exe" и попытался связать файлы .pl следующим образом. (Я использую окно командной строки администратора)

assoc .pl=PerlScript
ftype PerlScript="C:\Strawberry\perl\bin\perl.exe" "%1" %*

Я изменил раздел реестра следующим образом.

reg ADD HKCR\Applications\perl.exe\shell\open\command /t REG_SZ /d "\"C:\Strawberry\perl\bin\perl.exe\" \"%1\" %*" /f
The operation completed successfully.

Даже после этих изменений, когда я выполняю скрипт perl следующим образом, я получаю всплывающее окно сопоставления файлов, а не скрипт perl, начинающий выполняться, я замечаю клубничный perl в качестве опции (Perl Interpreter), который может быть связан с. pl файл во всплывающем окне, но почему связь еще не вступила в силу и почему всплывающее окно все еще появляется?

test.pl

enter image description here

Может кто-нибудь, пожалуйста, помогите мне с любым указателем относительно того, что я делаю неправильно или почему это происходит, пожалуйста :( Я хочу выполнить сценарии Perl, используя другой автоматизированный сценарий, поэтому пытаюсь заставить ассоциацию работать без какого-либо ручного вмешательства во время выполнения. Также я хочу, чтобы это работало в первый раз после установки Perl Strawberry на новую машину)

...