DOORS DXL включают в пакетном режиме
Я пытаюсь запустить DXL Script в DOORS-Batch Mode и хочу включить файл с config-data при запуске его через Batch-файл
set exePath=%cd%
cd "C:\Program Files\IBM\Rational\DOORS\9.6\bin\"
doors -user "XXX" -password "YYY" -p %1 -b
"Script.dxl" -dxl "#include <%exePath%>"
Когда я запускаю DOORS в GUI-режиме, я могу выполнить скрипт, когда я запускаю его в пакетном режиме, я получаю странную ошибку, говорящую что-то вроде
ДВЕРИ: Ошибка подтверждения, строка 436, ..., внутренняя ошибка
Я не могу найти решение, у кого-нибудь есть подсказка?
% exePath% - это путь к файлу dxl с конфигурацией
1 ответ
Решение
- \ В строке, которую вы передаете -dxl, содержащейся в вашей переменной exePath, интерпретируются DOORS как escape-символы. Когда вы указываете путь к файлу, используйте косую черту (c:/my/dxl-dir) или двойную косую черту (c:\\my\\dxl-dir).
- Где находится Script.dxl? Я предполагаю, что он находится в каталоге, где запускается скрипт. Команда #include прочитает содержимое файла и заменит команду #include содержимым. Он не используется для указания DOORS, где находится сценарий. Чтобы сообщить DOORS, где находится сценарий, вы можете использовать параметры реестра, переменные среды или параметры командной строки -addins (или -projectaddins или -layoutaddins).
- Если Script.dxl находится в начальном каталоге, то нет необходимости использовать "cd" вверху вашего скрипта. Просто запустите "c:\program files....\bin\doors.exe -b Script.dxl
- Не каждый скрипт работает в пакетном режиме. Все, что требует графического интерфейса, например Views, не будет работать