我想從我的NAnt腳本中調用某個EXE,並在屬性存在的情況下將屬性作爲參數傳遞,否則不傳遞任何東西。如何根據屬性存在條件將參數傳遞給NAnt exec任務?
下面的代碼似乎符合只是這種情況下,但它不工作:
<exec program="notepad.exe">
<arg line="${file}" if="${property::exists('file')}" />
</exec>
它扔Property 'file' has not been set
錯誤。看起來它會評估忽略條件的屬性。如果條件是false
,我希望它忽略整個<arg>
元素。
如果我定義該塊上面的屬性,它顯然工作正常(即使屬性爲空)。如果是單個案例,這可能是值得的解決方法,但我必須以同樣的方式傳遞一些屬性。此外,<if>
不是<exec>
下的有效元素...
如何實現此目的?有任何想法嗎?
您可以選擇設置您正在閱讀的相同變量的默認值。這似乎更清楚,而是一個單一的聲明。 –
BradLaney
根據你的用例,你的意思是你的第二個代碼片段的以下內容? –