2013-03-21 20 views
1

我試圖運行的。我現在是PowerShell腳本調用的Ant任務:從powershell ant命令 - 點用作參數的分隔符?

Invoke-Expression "ant -f $antFilePath -Dtestsuite=$testsuite clean compile run" 

的$測試包變量是一個字符串,其中包括點字符,例如「systemTest.All」,所以:

Invoke-Expression "ant -f $antFilePath -Dtestsuite=systemTest.All clean compile run" 

我的問題是,似乎點被解釋爲分隔符(由PowerShell中調用CMD從工作得很好?),因此「所有」的部分被視爲螞蟻目標(在乾淨的編譯運行之中)。

(使用的測試套件名稱的點是不是我的所作所爲讓我彈不影響之一)

我需要qoute螞蟻說法,逃避某種方式點?

BR, 皮特

+0

我沒有'ant'在這裏,但我會嘗試引用第一個參數:''「ant -f ... -Dtestsuite ='」$ testsuite'「」「 – 2013-03-21 11:41:55

+0

然後我得到錯誤:-Dtestsuite =」systemWarmup.RunAll <<<<<<< 「編譯運行 缺少結束符:」。? – PistolPete 2013-03-21 12:25:48

回答

6

試試這個(但我不能測試),運行此直接W/O調用-表達:在手

ant -f $antFilePath "-Dtestsuite=$testsuite" clean compile run 
+0

非常感謝!!非常好。 – PistolPete 2013-03-21 13:19:25

+0

@PistolPete很高興能幫到你! – 2013-03-21 13:58:24