Os scripts Perl no Windows 10 são executados no Explorer, mas não no prompt de comando

Instalei o ActiveState Perl no meu novo PC com Windows 10. Instalei a mesma versão exata do Perl em vários computadores pessoais e ele está instalado em centenas de computadores de outros usuários da minha empresa. A mesma instalação exata, criada por mim.

É a primeira vez que você faz isso no Windows 10. As ações básicas de clicar duas vezes em um script Perl (* .pl) no Explorer fazem com que uma janela do console seja aberta e o Perl execute o script.

Além disso, no prompt de comando do Windows, eu posso digitarperl.exe script.pl, e o script funciona bem. Mas quando eu apenas digitoscript.pl, nada acontece. Sem saída, sem erros, sem processos perl.exe visíveis no Gerenciador de tarefas.

A primeira vez que executei um script Perl (no Windows Command Prompt, acredito, usando apenas oscript.pl sintaxe), o Windows abriu uma janela perguntando qual programa eu queria usar para abrir esse arquivo. Perl era o padrão e cliquei em OK.

Eu nunca vi essa janela no Windows 7 ou 8, então acho que é algo específico para o Windows 10 e que é algo que de alguma forma me impede de digitarscript.pl. Porque, ao iniciarscript.pl, Estou exigindo que as associações de arquivos escolham o programa certo, mas quando digitoperl.exe script.pl, o perl.exe está sendo iniciado diretamente. Porém, essa coisa do Windows 10 "escolha seu programa padrão" está atrapalhando a execução no prompt de comando, atrapalhando as associações de arquivos.

Mas não tenho 100% de certeza do por que funciona no Explorer, mas tenho certeza de que preciso limpar essa coisa de programa padrão. Eu removi a entrada do registro para.pl arquivos emHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts, mas isso não ajudou.

Este parece ser um problema mais genérico no Windows 10, ou possivelmente apenas na minha instalação ou em uma Diretiva de Grupo que eu não conheço.

Os seguintes comandos (executados em um prompt de comando do Admin) funcionam bem no Windows 8.1, mas não no Windows 10:

assoc .foo=Foobar
ftype Foobar=C:\WINDOWS\system32\foo.bat %1
echo @echo off > foo.bat
echo echo The filename is %1 >> foo.bat
echo hi > foo.foo
foo.foo

O resultado deve ser a saída:

The filename is C:\WINDOWS\system32\foo.foo

Mas o Windows 10 não faz nada. Parece permitir apenas que aplicativos internos sejam associados dessa maneira, e não scripts de BAT de EXEs baixados / instalados.

questionAnswers(1)

yourAnswerToTheQuestion