【发布时间】:2019-12-10 08:35:00
【问题描述】:
【问题讨论】:
【问题讨论】:
有多个来源可以找到我检查的命令 - 没有特殊顺序 - 在查找新命令时:
DymolaCommands 的库。这可以使用包浏览器的“搜索”条目进行搜索(通过右键单击 DymolaCommands -> 搜索)。listfunctions() 以了解可以从 Dymola 命令行本地调用的函数的概览。通常,之后使用 CTRL+F 搜索文本最有意义。Modelica.Utilities,其中例如Modelica.Utilities.Streams.print 可用于通过将字符串绘制到仿真日志来调试模型。另一个非常有用的库是ModelManagement。获取当前目录有多种可能。
cd():不幸的是,这只会将目录打印到命令输出并返回true。所以这更多地用于手动检查,尽管输出可以通过getLastError() 检索。这也是 Dmyola 特有的。Modelica.Utilities.System.getWorkDirectory() 和 Modelica.Utilities.System.setWorkDirectory()
classDirectory() 将使用 Dymola >2021 来完成。【讨论】:
pwd() 和 ls() 的命令可以找到...?
ls() 命令可以列出当前文件夹中的文件,就像dir 在Windows 上所做的那样?
Modelica.Utilities.System.command(),这将使您能够从操作系统的命令行运行任何命令。但是输出只会是true 或false,因此需要一些额外的努力才能获得所需的输出。我会尝试找出是否有更有效的方法...
ls 这样的系统命令的输出,您必须将输出重定向到一个文件,然后读取该文件:Modelica.Utilities.System.command("ls > out.txt"); Modelica.Utilities.Streams.readFile("out.txt")
包浏览器中应该有一个名为“Dymola Commands”或“DymolaCommands”的包(至少从 Dymola 2018 开始)。
您可以将其作为任何其他软件包打开,也可以通过浏览器通过命令或右键单击并使用“搜索”(勾选“完整文档”)。
【讨论】: