gpt4 book ai didi

powershell - 在powershell脚本中将路径传递给SqlCmd

转载 作者:行者123 更新时间:2023-12-04 01:38:56 25 4
gpt4 key购买 nike

我正在尝试编写一个 powershell 脚本,它将执行 sqlcmd.exe 来运行 sql 脚本。该脚本包含一个 SQLCMD 变量,我想通过 sqlcmd 的 -v 开关在命令行上传递该变量。问题是,当我将路径作为我的一个变量的值传递时,powershell 正在做一些奇怪的事情,这反过来导致 SQL 脚本失败。

例如我打电话:

$path = 'C:\path'
sqlcmd -SMySQLServerInstance -i 'MySqlScript.sql' -v MyVariablePath=$path

运行时,我收到一条错误消息:
Sqlcmd: ':\path': Invalid argument.

我在 $path 附近尝试了多少双引号或单引号或 MyVariablePath=$path解决了这个问题。

有人可以提供一个简单的规范示例来说明需要如何完成吗?

最佳答案

终于解决了。对于下一个尝试这个的傻瓜,这里是解决方案

powershell 脚本看起来像

$myPath = "`"C:\Path`"" 
sqlcmd.exe -SmySQLInstance -i./test.sql -v myvar=$myPath

然后我的 test.sql 文件可以像这样使用变量
PRINT "$(myvar)"

这里的关键是了解 powershell 如何转义字符。更多信息 here

关于powershell - 在powershell脚本中将路径传递给SqlCmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3734529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com