我试图通过Notepad ++和NppExec执行一个小的perl6脚本。 我的系统是Windows 10,我将PATH变量正确设置为Perl6可执行文件所在的C:\ rakudo \ bin。当我通过普通控制台执行脚本时:
perl6 "path/to/script.pl6"
它执行没有问题。
但是,当我在NppExec中执行完全相同的命令时如下:
CD $(CURRENT_DIRECTORY)
perl6 "$(FILE_NAME)"
我收到错误:CreateProcess()失败,错误代码为2:系统找不到指定的文件。
显然,命令" perl6"是不知道NppExec ... 我的问题:如何让NppExec知道PATH变量,或者这个问题与其他问题有关?
答案 0 :(得分:2)
我通过输入perl可执行文件的完整路径解决了这个问题。所以我的NppExec命令现在看起来像:
CD "$(CURRENT_PATH)"
"C:\rakudo\bin\perl6.bat" "$(FILE_NAME)"
并且脚本正确执行。
也可以使用env变量。必须添加文件结尾:
CD "$(CURRENT_PATH)"
perl6.bat "$(FILE_NAME)"
也可以。
答案 1 :(得分:2)
您可以使用以下NppExec命令显示NppExec知道的路径:
env_set PATH
因此,您可以检查perl的路径是否存在。运行perl的一种相当简单的方法是在原始脚本中使用perl6的完整路径。顺便说一下,你可以使用$(FULL_CURRENT_PATH)
。
答案 2 :(得分:0)
似乎NppExec非常聪明,可以在环境PATH中搜索应用程序。但是,它不会自动添加.bat
扩展名。在我的情况下,添加.bat
解决了问题。所以这有效:
gradle.bat