このような単純なpowershellスクリプトがあります
sqlcmd -S. -E -Q 'select ''$(x)''' -v x="c:a"
しかし、私はいつもエラーメッセージを受け取りました
Sqlcmd: ':a': Invalid argument. Enter '-?' for help.
引数で問題が発生したこと":"
がわかりましたが、それを回避する方法がわかりません。
ありがとう、デビッド
このような単純なpowershellスクリプトがあります
sqlcmd -S. -E -Q 'select ''$(x)''' -v x="c:a"
しかし、私はいつもエラーメッセージを受け取りました
Sqlcmd: ':a': Invalid argument. Enter '-?' for help.
引数で問題が発生したこと":"
がわかりましたが、それを回避する方法がわかりません。
ありがとう、デビッド
申し訳ありませんが、もう一度自分の質問に答えなければなりません。
この問題を解決する唯一の方法は、'+' を使用して 2 つの文字列を連結することです。':' は予約されます。
例: $a="abc"+":123"
または、xdt:Transforms のスクリプト作成に使用したこのアプローチを試すこともできます。
$xmlSection.SetAttribute("xdtTransform","Insert")
に続く
foreach-object {$_ -replace "xdtTransform" , "xdt:Transform"}
バッククォート文字は、PowerShell のエスケープ コードです。だから「:」と書いて……。
おっと...コロン文字では機能しません。%3A
代わりに使用してください。