我正在使用powershell編寫發行腳本,並且需要調用自定義可執行文件並將一堆參數傳遞給可執行文件。這些參數中很少有一些是來自腳本中各種條件和執行的值。我發現在調用可執行文件時,這些值沒有得到評估。一些變量也需要作爲雙引號內的一系列參數傳入。下面顯示的是一個smaple呼叫運行其參數值在powershell中指定爲變量的可執行文件
mysample.exe「-forcerebuild '-release = $ CALC_VERSION''-projfile = sample.proj「-buildoptions =」/ P:AllowDevDependencies = TRUE/P:的AssemblyVersion = $ CALC_ASSEMBLY_VERSION/FLP:日誌文件= $ ENV:臨時 \ build.log/p:BaseIntermediateOutputPath = $ PROJECT_BASE \建立\/CLP:NOSUMMARY「」
所有需要進行評估的變量突出顯示。 exe預計所有選項提供給內部引用選項-buildoptions =「所有構建選項」
這些值似乎沒有得到評估。但是,如果我把構建選項作爲單獨的變量並打印出來,這些值似乎會得到評估。我是PowerShell的新手,非常感謝任何幫助。
+1 - 單引號與雙引號是問題。 – JNK 2012-01-31 19:47:18
感謝您的回覆。我按照你所說的刪除了單引號,並且變量正在被評估。 EchoArgs.exe工具非常酷,我可以看到所有的參數和值傳遞。現在,我看到-buildoptions =「所有構建選項」中的所有選項都將作爲單獨的參數進行評估。我如何保留double = quotes並仍然可以評估值? – praskris 2012-01-31 20:10:32
@praskris - 你必須做一些像'「\'」$ test_variable \'「」' – manojlds 2012-01-31 20:14:41