NppExec - команда неизвестна NppExec, переменная окружения установлена

Я пытаюсь выполнить небольшой сценарий perl6 через Notepad++ и NppExec. Моя система - Windows 10, и я правильно установил переменную PATH в C:\rakudo\bin, где находится исполняемый файл perl6. Когда я выполняю скрипт через обычную консоль с:

perl6 "path/to/script.pl6" 

он выполняется без проблем.

Тем не менее, когда я выполняю точно такую ​​же команду в NppExec, как показано ниже:

CD $(CURRENT_DIRECTORY)
perl6 "$(FILE_NAME)"

я получаю сообщение об ошибке: CreateProcess() не удалось с кодом ошибки 2: система не может найти указанный файл.

Очевидно, что команда "perl6" неизвестна NppExec... Мой вопрос: как я могу сделать переменную PATH известной NppExec, или эта проблема связана с чем-то другим?

3 ответа

Решение

Вы можете показать PATH, который знает NppExec, с помощью следующей команды NppExec:

env_set PATH

Таким образом, вы можете проверить, есть ли путь к Perl или нет. Довольно простой способ запустить perl - использовать полный путь к perl6 в исходном скрипте. Кстати, вы можете использовать $(FULL_CURRENT_PATH),

Я решил проблему, введя полный путь к исполняемому файлу perl. Итак, моя команда NppExec теперь выглядит так:

CD "$(CURRENT_PATH)"
"C:\rakudo\bin\perl6.bat" "$(FILE_NAME)"

и скрипт выполняется правильно.

Также возможно использовать переменную env. Нужно добавить окончание файла:

CD "$(CURRENT_PATH)"
perl6.bat "$(FILE_NAME)"

работает так же.

Похоже, NppExec достаточно умен, чтобы искать приложения в среде PATH. Однако это не добавляет .bat расширение автоматически. В моем случае добавление .bat решил проблему. Так что это работает:

gradle.bat
Другие вопросы по тегам