如何在powershell脚本中将变量传递给bcp命令

时间:2012-02-02 23:23:25

标签: sql-server powershell bcp

我正在创建一个字符串,我想从PowerShell脚本中传递给bcp命令。这是创建字符串

的代码
$fullFilePath = (pwd).path + "\$db.$table" + ".dat"
$copyExecString = "bcp $db.$table out $fullFilePath -E -N -Slocalhost"

我可以将写入主机的结果粘贴到命令提示符中,它运行得很好,但它不会按如下方式工作:

$fullFilePath = (pwd).path + "\$db.$table" + ".dat"
$copyExecString = "$db.$table out $fullFilePath -E -N -Slocalhost"
bcp $copyExecString

我也尝试在调用bcp命令之前使用&符号,但无济于事

非常感谢有关如何实现此功能的任何想法

2 个答案:

答案 0 :(得分:2)

而不是单个字符串,通过用空格分隔参数来标记它:

& bcp $db.$table out $fullFilePath -E -N -Slocalhost

答案 1 :(得分:1)

您可以使用Invoke-Expression cmdlet来确保在执行之前解析要执行的内容:

Invoke-Expression "bcp $copyExecString"