Это то, что я хочу выполнить:
c:\Program Files (x86)\SEQUEL ViewPoint\viewpoint.exe/Setvar ((POSTSTR $POSTSTR) (POSTEND $POSTEND))/G:C:\viewpointfile.vpt/D: C: ($ BEGDATE to $TODDATE).xls
Вот что я пробовал:
$a = "/Setvar ((POSTSTR $POSTSTR) (POSTEND $POSTEND))"
$b = "/G:C:\viewpointfile.vpt"
$c = "/D: C: ($ BEGDATE до $TODDATE).xls"
$Viewpoint = "c:\Program Files (x86)\SEQUEL ViewPoint\viewpoint.exe"
& $Точка зрения $a $b $c
При выполнении этого я получаю сообщение об ошибке:
Файл C:\viewpointfile.vpt "/D: C: ($ BEGDATE до $TODDATE).xls" не найден!
Я не уверен, откуда он получает дополнительные кавычки. Если я запустил команду только с $a и $b, она работает нормально.
Любая помощь будет принята с благодарностью. Благодарю!:)
Обновление
manojlds предложил echoargs, поэтому здесь он выводит из него:
&./echoargs.exe $viewpoint $a $b $c
Arg 0 - C:\Program Files (x86)\SEQUEL ViewPoint\viewpoint.exe
Arg 1 is/Setvar ((POSTSTR 20101123) (POSTEND 20111123))
Arg 2 является /G: C:\viewpointfile.vpt
Arg 3 is/D: C: (2010-11-23 - 2011-11-23).xls
Кажется, что все аргументы передаются должным образом. Когда я запускаю его как команду в cmd.exe, он выполняется отлично. Итак, что-то на конце Powershells должно испортить выход.
Есть ли другой способ выполнить эту команду с помощью Powershell?