2014-11-11 3 views
0

Powershell 내에서 'sqlcmd'를 실행할 때 변수 (-v 및 폴더 경로)를 전달할 때 문제가 있습니다. Powershell은 경로에서 'C'를 제거합니다. 내가 cmd를 프롬프트에서 위의 내용을 붙여 실행하면 잘 작동,Powershell - sqlcmd 변수에서 드라이브 문자 제거

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" 

: 나는 명령을 인쇄 할 경우

$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: ':\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" 

나는 이것에 대해 다른 게시물을 찾았지만,이 솔루션은 작동하지 않았다.

도움이 될 것입니다.

감사합니다.

답변

0

많은 것을 시도한 후에 문제를 파악했습니다.

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

나는 인용 문제를 처리하기 위해 사용