Сценарии Perl в Windows 10 запускаются из Проводника, но не из командной строки

Я установил ActiveState Perl на мой новый ПК с Windows 10. Я установил одну и ту же версию Perl на несколько своих компьютеров, и она установлена ​​на сотнях компьютеров других пользователей в моей компании. Точно такая же установка, созданная мной.

Это первая попытка сделать это в Windows 10. Основные действия двойного щелчка по сценарию Perl (* .pl) в Проводнике приводят к открытию окна консоли и запуску сценария Perl.

Кроме того, в командной строке Windows, я могу набратьperl.exe script.plи скрипт работает нормально. Но когда я просто набираюscript.pl, Ничего не произошло. Нет вывода, нет ошибок, нет процессов perl.exe, видимых в диспетчере задач.

Первый раз, когда я запустил скрипт Perl (из командной строки Windows, я полагаю, используя толькоscript.pl синтаксис), Windows выскочило окно, спрашивая меня, какую программу я хотел использовать, чтобы открыть этот файл. Perl был по умолчанию, и я нажал OK.

Я никогда не видел это окно в Windows 7 или 8, поэтому я думаю, что это что-то особенное для Windows 10, и что это то, что как-то мешает мне просто набирать текстscript.pl, Потому что при запускеscript.plЯ требую, чтобы ассоциации файлов выбирали правильную программу, но когда я печатаюperl.exe script.pl, perl.exe запускается напрямую. Но то, что Windows 10 «выбирает вашу программу по умолчанию» мешает при запуске из командной строки путаницей файловых ассоциаций.

Не уверен на 100%, почему это работает из Explorer, но я уверен, что мне нужно очистить эту программу по умолчанию. Я удалил запись реестра для.pl файлы подHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts, но это не помогло.

Похоже, это более общая проблема с Windows 10, или, возможно, просто моя установка или групповая политика, о которой я не знаю.

Следующие команды (запускаемые в командной строке администратора) работают нормально в Windows 8.1, но не в 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

Результатом должен быть вывод:

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

Но Windows 10 ничего не делает. Кажется, таким образом разрешается связывать только встроенные приложения, а не BAT-скрипты загруженных / установленных EXE-файлов.

Ответы на вопрос(1)

Ваш ответ на вопрос