【问题标题】:Matlab "addpath" doesn't work for .exe?Matlab“addpath”不适用于.exe?
【发布时间】:2014-02-28 20:50:17
【问题描述】:

我在文件夹 A 中运行一个脚本,它需要调用文件夹 B 中的函数和 .exe。我在脚本中使用了addpath(C:\...\B),但只有 B 中的函数 (.m) 成功到达,而不是可执行文件 (.exe)。但是,如果我在文件夹 B 下运行脚本并选择“添加到路径”,则 .m 和 .exe 都可以访问。为什么addpath 不起作用?

【问题讨论】:

    标签: matlab path environment-variables


    【解决方案1】:

    Addpath 修改 matlab 搜索路径,而不是与可执行文件相关的 os 搜索路径。切换到目录:

    cd ('C:...\B')
    system('example.exe')
    

    或使用完整路径引用可执行文件

    system('C:...\B\example.exe')
    

    您也可以修改windows路径变量并添加C:...\B

    【讨论】:

    • 谢谢。我最终得到了 cd ('C:...\B') myfun() cd ('C:...\A') ,因为调用了超过 1 个 .exe。
    • 改用p=pwd;cd ('C:...\B');myfun();cd(p); 之类的东西。它返回到任何先前设置的工作目录。
    【解决方案2】:

    正如@Daniel 指出的那样,我相信您将操作系统级别的路径变量与 Matlab path 混淆了。您可能会查看 getenvsetenv 函数。特别是,您可以通过

    获取您的 Windows 路径
    getenv('PATH')
    

    还可以通过调用system 来执行此操作的较低级别的方法。最后,您可能还会发现this question 很有帮助,也许this one 也很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      • 2016-07-30
      • 1970-01-01
      • 2021-10-31
      • 2017-06-20
      相关资源
      最近更新 更多