3

我正在运行一个从 powershell 脚本调用的 T-SQL 脚本,该脚本包含一个文本行,其中包含一个包含 $(MV) 的序列。

当我运行脚本时,我收到错误“'MV' scripting variable not defined”。我认为这是因为它将 $(MV) 字符串解释为变量而不是文本字符串的一部分。

如何将美元符号写为转义序列?这可能在字符串中吗?

4

2 回答 2

9

您是否使用sqlcmd执行脚本?它将解释 $(variablename) 并尝试扩展它。

您可以使用 -x 命令行选项禁用此功能。

哦,如果您使用Invoke-Sqlcmd,您可以使用 -DisableVariables 参数。

我假设您不想完成 sqlcmd 变量替换。如果您只是试图让 $ 通过 Powershell,请使用反引号 (`$),就像在另一个建议中一样。

于 2012-09-06T14:00:55.233 回答
2

您可以使用反引号字符在 PowerShell 中转义 $ 符号:

`$
于 2012-09-06T09:57:19.473 回答