Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在powershell脚本中将变量传递给bcp命令_Sql Server_Powershell_Bcp - Fatal编程技术网

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

Sql server 如何在powershell脚本中将变量传递给bcp命令,sql-server,powershell,bcp,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.$

我正在创建一个字符串,希望从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命令之前,我也尝试过使用符号和字符,但没有效果


任何关于如何实现此功能的想法都将受到极大的欢迎,而不是一个字符串,通过将参数按空格分开来标记它:

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

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

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

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

Invoke-Expression "bcp $copyExecString"

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

Invoke-Expression "bcp $copyExecString"

这也行!非常感谢你。PowerShell脚本对我来说是非常新的,但使用几天后,我就知道它有多有用了ti@TechDawg270很高兴这有帮助。您需要小心
调用表达式
,因为它可能会执行您意想不到的操作。看看吧。如果可以的话,你想避免它。如果您发现此答案已回答您的问题,请将其标记为已接受答案。此选项也适用!非常感谢你。PowerShell脚本对我来说是非常新的,但使用几天后,我就知道它有多有用了ti@TechDawg270很高兴这有帮助。您需要小心
调用表达式
,因为它可能会执行您意想不到的操作。看看吧。如果可以的话,你想避免它。如果您发现此答案已回答您的问题,请将其标记为已接受答案。