Как включить «:» в качестве параметра в powershell? - PullRequest
1 голос
/ 28 июня 2010

у меня есть простой скрипт powershell, как этот

sqlcmd -S. -E -Q 'select ''$(x)''' -v x="c:a"

но я всегда получаю сообщение об ошибке

Sqlcmd: ':a': Invalid argument. Enter '-?' for help.

Я понял, что именно ":" в аргументе вызвало проблему, но я не знаю, как избежать этого.

спасибо, David

Ответы [ 3 ]

3 голосов
/ 12 августа 2010

извините, что мне нужно снова ответить на свой вопрос.

единственный способ решить эту проблему - использовать "+" для объединения двух строк, и ":" будет зарезервировано.

например, $ a = "abc" + ": 123"

0 голосов
/ 06 января 2012

Вы также можете попробовать этот подход, который мы использовали для сценариев xdt: Transforms.

$xmlSection.SetAttribute("xdtTransform","Insert")

с последующим

foreach-object {$_ -replace "xdtTransform" , "xdt:Transform"}

0 голосов
/ 28 июня 2010

Символ обратной кавычки является escape-кодом в PowerShell. Поэтому напишите ``: `....

упс ... Это не сработает для двоеточия. Вместо этого используйте %3A.

...