CAL Команда mkview не выполняется - PullRequest
1 голос
/ 16 февраля 2012

Я пытаюсь создать прозрачный вид с использованием COM-объекта в Powershell.

$ccViews="\\Hostname.global.mycompany.com\cc-view\"
$ViewName="CodeCountView"
$ViewFullpath="$ccViews$ViewName"+".vws"

 $ct = new-object -com ClearCase.ClearTool

     try { 
         $ct.CmdExec('lsview $ViewName') 
     }
     catch {
         $ct.CmdExec('mkview -tag $ViewName -nsh $ViewFullpath')
      }

Выдает следующее исключение.

> Exception calling "CmdExec" with "1" argument(s): "storage directory
> must be in UNC style (e.g. \\host\share\...) " At
> E:\Powershellscripts\CCountAutomation.ps1:81 char:19
> +        $ct.CmdExec <<<< ('mkview -tag $ViewName -nsh $ViewFullpath')
>     + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
>     + FullyQualifiedErrorId : ComMethodTargetInvocation

Может ли кто-нибудь помочь мне решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Чтобы добавить к ответу христианина (без голосов), найденные мной технические замечания используют простые цитаты: swg1PK70509

$ct.CmdExec('lsact -fmt `'%[crm_state]p`'

Но при использовании переменной требуются двойные кавычки, как показано в " как найти корень [folder] для каждого компонента, используя cleartool? ".

2 голосов
/ 16 февраля 2012

Попробуйте изменить эти строки:

$ct.CmdExec("lsview $ViewName") 

$ct.CmdExec("mkview -tag $ViewName -nsh $ViewFullpath")

Используя ' $variable ' вернуть строку $ variable Используя " $variable " вернуть значение asign для переменной.

Скажите это в своем кодеВы также можете изменить это:

$ViewFullpath="$ccViews$ViewName.vws"
...