DOORS DXL 包含在批处理模式中

DOORS DXL include in batchmode

我正在尝试 运行 DOORS 批处理模式下的 DXL 脚本,我想在通过批处理文件启动时包含一个带有配置数据的文件

set exePath=%cd%
cd "C:\Program Files\IBM\Rational\DOORS.6\bin\"
doors -user "XXX" -password "YYY" -p %1 -b 
"Script.dxl" -dxl "#include <%exePath%>"

当我在 GUI 模式下启动 DOORS 时,我可以执行脚本,当我在批处理模式下启动它时,我收到一个奇怪的错误,类似

DOORS:断言失败,第 436 行,...,内部错误

我找不到解决办法,有人知道吗?

%exePath%是配置文件的dxl文件路径

  1. 传递给 -dxl 的字符串中包含在变量 exePath 中的 \ 被 DOORS 解释为 转义字符。当您提供文件路径时,可以使用 正斜杠 (c:/my/dxl-dir) 或双反斜杠 (c:\\my\\dxl-dir).
  2. Script.dxl 在哪里?我假设它驻留在脚本启动的目录中。 #include 命令将读取文件的内容并用内容替换#include 命令。它不用于告诉 DOORS 脚本所在的位置。要告诉 DOORS 脚本所在的位置,您可以使用注册表设置、环境变量或命令行开关 -addins(或 -projectaddins 或 -layoutaddins)。
  3. 如果 Script.dxl 驻留在起始目录中,则根本不需要到脚本顶部的 "cd"。只需启动“c:\program files....\bin\doors.exe -b Script.dxl
  4. 并非每个脚本都以批处理模式运行。任何需要 GUI 功能的东西,比如视图,都不会工作