【问题标题】:NppExec - Command unkown to NppExec, Environment variable is setNppExec - NppExec 未知的命令,已设置环境变量
【发布时间】:2016-02-26 12:18:18
【问题描述】:

我正在尝试通过 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: The system cannot find the file specified.

显然,命令“perl6”对于 NppExec 来说是未知的...... 我的问题:我怎样才能让 NppExec 知道 PATH 变量,还是这个问题与其他问题有关?

【问题讨论】:

    标签: path notepad++ raku nppexec


    【解决方案1】:

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

    env_set PATH
    

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

    【讨论】:

    • 感谢您的回答。我现在使用完整路径。但同样重要的是,可以使用 env 变量。只需添加文件结尾即可。所以:CD "$(CURRENT_PATH)" "perl6.bat" "$(FILE_NAME)" 正在工作
    【解决方案2】:

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

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

    并且脚本被正确执行。

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

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

    同样有效。

    【讨论】:

      【解决方案3】:

      似乎 NppExec 足够聪明,可以在环境 PATH 中搜索应用程序。但是它不会自动添加.bat 扩展名。在我的情况下添加.bat 解决了问题。所以这行得通:

      gradle.bat
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        • 2014-09-05
        • 2020-01-29
        相关资源
        最近更新 更多