powershell cmdlet

时间:2017-08-17 23:31:10

标签: powershell powershell-v2.0

我在powershell中使用了start-process cmdlet作为

Start-Process -FilePath "$Installer_Path" -Args '/s /v"/qb SETUPTYPE=\"$Setup_type\" USERNAME=$user_name PASSWORD=$password SERVER=$sql_server INSTALLDIR=\"$Transfer_Path\\\" SHAREPATH=\"$Transfer_Path\\\""' –Wait

在上面的命令中,除了$ Installer_Path之外,变量没有被替换。我认为问题是因为变量位于' " " &#39 ;.任何人都可以帮我改变变量吗?

感谢。

1 个答案:

答案 0 :(得分:0)

问题是您使用单引号而不是双引号。为了扩展变量,您需要使用双引号。如果你必须在那些内部使用双引号,你可以通过在它们前面添加反引号或者将它们加倍“”来使它们逃脱。

Start-Process -FilePath "$Installer_Path" -Args "/s /v`"/qb SETUPTYPE=\`"$Setup_type\`" USERNAME=$user_name PASSWORD=$password SERVER=$sql_server INSTALLDIR=\`"$Transfer_Path\\\`" SHAREPATH=\`"$Transfer_Path\\\`"`"" –Wait