[在mos脚本中,我想将当前目录(即mos脚本所在的目录)保存到字符串变量。第二步,我想打开一个位于mos文件目录网络中的库。
我这样尝试过:
myCWD = Modelica.Utilities.System.getWorkDirectory();
但是它将始终具有值C:\USERNAME\Documents\Dymola
。
是否有一种方法可以从mos脚本中获取mos文件本身的路径?还是有更好的方法来使用相对路径,或从相对路径(但始终相对于mos文件)构造绝对路径?
cd
返回Dymolas工作目录,因此它可以正常工作。我不是用mos脚本来解决您的问题,而是通过内置函数classDirectory()
的Dymola可以满足您的要求。
这里是一个最小的示例:
function myScript
algorithm
Modelica.Utilities.Streams.print(classDirectory());
end myScript;
注意,在大多数情况下,Dymola中的函数可以替换mos脚本。通常,您可以简单地将mos脚本内容复制到函数的算法部分,然后调用该函数。