将命令行结果传递到CAPL程序或CANoe的系统变量

时间:2019-12-16 12:40:59

标签: capl

为了增强测试环境的可追溯性,我们希望在CANoe配置中有一个系统变量,存储一个简单的字符串,该字符串引用配置本身的版本。

我们要实现的目标如下:

on preStart
{
    @versionsysvar = // callback of a command line call returning the version as a string
}

SysExecSysExecCmd都不是选项。到目前为止,我找不到一种不涉及创建dll包装器,将其导入并运行的方法。毕竟,我是否在想办法。有什么想法吗?

编辑

比方说配置是在SVN下共享的。它可能是任何种类的版本控制系统。每个测试人员都有一个具有一定自由度的分支,因此必须在每次测量开始时获取版本号。例如。在开始测量时,目标是在系统变量中填充当前的SVN版本号,该版本号可通过命令行调用检索。

请注意,这仅是示例。如果可能的话,我想避免的是添加第三个元素,例如dll或COM对象,以获取版本控制对象。

参考:In CAPL, is there any function to start/open an executable in background?

1 个答案:

答案 0 :(得分:-2)

一个可能的选择是将命令的输出路由到文本文件,如下所示:

sysExecCmd(“ dir”,“> D:\ Output.txt”)

一旦执行了sysExecCmd命令,就会触发控制台环境以执行“ dir”命令,并将输出写入文本文件。

可以使用CAPL文件功能读取文件Output.txt并监视其输出。请注意,这是一种解决方法,而不是直接的解决方案