如何在Dymola仿真结束后自动删除生成的多余构建文件?
Dymola仿真多余中间文件清理方法
方法1:开启全局自动临时文件删除(最简便)
直接在Dymola命令行输入如下命令并回车即可生效:Advanced.DeleteTemporaryFiles = true
开启后仿真结束会自动删除你提到的所有中间文件,仅保留.mat仿真结果、自定义输出文件等内容。如果后续需要排查仿真报错,临时改为Advanced.DeleteTemporaryFiles = false即可恢复生成中间文件方便定位问题。
如果需要永久生效,可将上述命令添加到Dymola安装目录下的dymola.mos启动脚本中,每次打开软件自动加载配置。
方法2:单独控制特定文件的生成
如果不需要全部删除,只想屏蔽指定类型的中间文件,可单独配置对应参数:
- 屏蔽C源码文件
dsmodel.c:设置Advanced.KeepGeneratedSources = false - 屏蔽仿真可执行文件
dymosim.exe:设置Advanced.KeepExecutable = false - 屏蔽日志、输入输出类文件
dslog.txt/dsin.txt/dsfinal.txt:设置Advanced.DeleteLogFile = true、Advanced.DeleteInputFile = true
方法3:脚本定向清理(适合批量仿真场景)
如果是通过脚本执行批量仿真,可在仿真逻辑后添加定向删除代码,灵活控制要清理的文件范围,示例如下:
// 执行仿真 simulateModel("你的模型路径", stopTime=10, outputFile="仿真结果名称"); // 批量清理无用文件 deleteList = {"dsfinal.txt", "dsin.txt", "dslog.txt", "dsmodel.c", "dymosim.exe"}; for file in deleteList loop if Modelica.Utilities.Files.exist(file) then Modelica.Utilities.Files.remove(file); end if; end for;
内容的提问来源于stack exchange,提问作者EnriYo
相关产品推荐
相关产品推荐

