Powershell - 从sqlcmd变量中删除驱动器号

时间:2014-11-11 15:19:47

标签: powershell-v3.0

我在运行' sqlcmd'时遇到问题从Powershell中传递变量(-v和文件夹路径)。 Powershell正在剥离C'从路上。这是命令:

 $CommandLine = "sqlcmd -v dataFeedDir=" + """$ssisDataFeeds""" + " -U user -P password -S " + $Env:COMPUTERNAME + " -i " +  "`"" + $setLoc + "\SQL Scripts\Set_SSIS_DataFeed_Directory.sql" + "`"" + " -o " + "`"" + $setLoc + "\SQL Scripts\Set_SSIS_DataFeed_Directory.log" + "`""

如果我打印命令,我会得到:

sqlcmd -v dataFeedDir="C:\is_data_feeds" -U user -P password -S myhost -i "C:\Automation\6_0_0\TruCareInstaller\SQL Scripts\Set_SSIS_DataFeed_Directory.sql" -o "C:\Automation\6_0_0\TruCareInstaller\SQL Scripts\Set_SSIS_DataFeed_Directory.log"

如果我在cmd提示符中粘贴上面的内容并运行它,它就可以正常工作。

我从Powershell获得的错误是:

     Sqlcmd: ':\is_data_feeds': Invalid argument. Enter '-?' for help.
At :line:1 char:2  
+ &  <<<< sqlcmd -v dataFeedDir="C:\is_data_feeds" -U user -P password -S myhost -i "C:\Automation\6_0_0\TruCareInstaller\SQL Scripts\Set_SSIS_DataFeed_Directory.sql" -o "C:\Automation\6_0_0\TruCareInstaller\SQL Scripts\Set_SSIS_DataFeed_Directory.log"

我发现了一些关于此的帖子,但解决方案没有用。

任何帮助都会很棒。

由于

1 个答案:

答案 0 :(得分:0)

在尝试了许多事情后想出了问题。

我用它来处理报价问题:

Start-Process "cmd.exe"  "/k $CommandLine"