如何在 OMNET++ 中结合命令行参数指定输出文件名?

How to specify output filenames combined with command-line arguments in OMNET++?

一般来说,OMNeT++ 输出文件名是workloadType-#r.sca,或workloadType-#r.vec。我们希望 运行 使用不同的命令行参数进行不同的模拟,以找到最好的模拟参数。因此,我们希望输出文件名与命令行参数更容易区分。

例如:
如果我有 -arg1 8 -arg2 12,我们希望有 workloadType-#r-8-12.sca。所以,我们知道哪个文件来自哪个模拟。当然,我们可以一次 运行 手动标记它们。但这是太多的工作。如果我们可以在 OMNeT++ 中指定输出文件名,我们可以自动化该过程并同时 运行 许多模拟。提前致谢。

您可以使用 output-scalar-fileoutput-vector-file 配置选项(从命令行即 --output-scalar-file 或从 INI 文件)。默认情况下它的值为 ${resultdir}/${configname}-${iterationvarsf}#${repetition}.sca 所以通常如果你有不同的迭代变量值,你会得到不同的文件名。

详见手册:https://doc.omnetpp.org/omnetpp/manual/#sec:config-options:config-options

我不确定 arg1 实际上是什么,但我的感觉是您正在做一些应该以不同方式做的事情。模拟结果应该 ONLY 来自配置名称和迭代变量值(以及初始种子),并且所有这些变量已经是文件名的一部分。

或者换个角度:如果你的模拟结果取决于命令行参数而不是 -r-c 那么你可能做错了。