Почему эта команда cleartool не выполняется из командного файла? - PullRequest
1 голос
/ 13 октября 2011

Я выполнил следующую команду из командной строки, и она прошла успешно

cleartool find . -type f -exec "cleartool describe -fmt \"Filename:%[name]p:type:%[type]p\n" \"%CLEARCASE_PN%"\"" > D:\temp\type.txt

Я попытался поместить ту же команду в командный файл, но она не удалась с последующим выводом

cleartool: Error: Bad Command line unterminated quoted string
cleartool: Error: Can't exec "(null)": the handle is invalid

Может кто-нибудь показать мне, как должна выглядеть магическая линия?
Я могу вставить его в файл perl, это проще?

Я попробовал различные предложения на сайте, но мне не удалось решить.

1 Ответ

3 голосов
/ 13 октября 2011

Вам нужно удвоить ваш '%', в противном случае DOS рассматривает его как 'нулевой' символ:
(И у вас было несколько двойных кавычек, пропущенных '\')

cleartool find . -type f -exec "cleartool describe -fmt \"Filename:%%[name]p:type:%%[type]p\n\" \"%%CLEARCASE_PN%%\"" > D:\temp\type.txt
...