3

我正在尝试通过 Notepad++ 和 NppExec 执行一个小的 perl6 脚本。我的系统是 Windows 10,我将 PATH 变量正确设置为 perl6 可执行文件所在的 C:\rakudo\bin。当我通过普通控制台执行脚本时:

perl6 "path/to/script.pl6" 

它可以毫无问题地执行。

但是,当我在 NppExec 中执行完全相同的命令时,如下所示:

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

我得到错误: CreateProcess() failed with error code 2: 系统找不到指定的文件。

显然,NppExec 不知道命令“perl6”...我的问题:我怎样才能让 NppExec 知道 PATH 变量,或者这个问题与其他问题有关吗?

4

3 回答 3

2

我通过输入 perl 可执行文件的完整路径解决了这个问题。所以我的 NppExec 命令现在看起来像:

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

并且脚本得到正确执行。

也可以使用 env 变量。必须添加文件结尾:

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

也可以。

于 2016-02-26T12:50:59.910 回答
2

您可以使用以下 NppExec 命令显示 NppExec 知道的 PATH:

env_set PATH

因此,您可以检查 perl 的路径是否存在。运行 perl 的一种相当简单的方法是在原始脚本中使用 perl6 的完整路径。顺便说一句,您可以使用$(FULL_CURRENT_PATH).

于 2016-02-26T12:51:27.907 回答
0

似乎 NppExec 足够聪明,可以在环境 PATH 中搜索应用程序。但是它不会.bat自动添加扩展名。就我而言,添加.bat解决了问题。所以这有效:

gradle.bat
于 2017-10-24T16:51:03.880 回答