Scripting Dymola mos脚本:获取当前目录

Scripting Dymola mos脚本:获取当前目录,scripting,filepath,dymola,Scripting,Filepath,Dymola,在mos脚本中,我希望将当前目录(即mos脚本所在的目录)保存到字符串变量中。在第二步中,我想打开一个位于目录网中的库来访问mos文件 我这样试过: myCWD = Modelica.Utilities.System.getWorkDirectory(); 但它的值总是C:\USERNAME\Documents\Dymola 有没有办法从mos脚本中获取mos文件本身的路径? 或者有更好的方法使用相对路径,或者从相对路径(但始终相对于mos文件)构造绝对路径吗?cd返回Dymolas工作目录,

在mos脚本中,我希望将当前目录(即mos脚本所在的目录)保存到字符串变量中。在第二步中,我想打开一个位于目录网中的库来访问mos文件

我这样试过:

myCWD = Modelica.Utilities.System.getWorkDirectory();
但它的值总是
C:\USERNAME\Documents\Dymola

有没有办法从mos脚本中获取mos文件本身的路径?
或者有更好的方法使用相对路径,或者从相对路径(但始终相对于mos文件)构造绝对路径吗?

cd
返回Dymolas工作目录,因此它可以按预期工作。我不知道如何使用mos脚本解决您的问题,但在Modelica函数中,Dymola内置函数
classDirectory()
可以满足您的需要

下面是一个简单的例子:

function myScript
algorithm 
  Modelica.Utilities.Streams.print(classDirectory());
end myScript;

注意,在Dymola中,函数在大多数情况下可以替换mos脚本。通常,您只需将mos脚本内容复制到函数的算法部分并调用该函数。

相关:可能我的方法很复杂:我想要实现的是从相对路径加载库,这样我就可以将load.mos文件放在SVN或git上库旁边,每个查看回购协议的人都可以双击load.mos文件。你知道怎么做吗?我使用这种方法:(你标记为相关的问题的答案之一)。唯一的问题是,所有用户都必须定义一个环境变量。