2010-02-16 35 views
6

我必須編寫一個Nant腳本,它將在命令行上接受2個參數。第一個只是一個選項,具有以下格式:-myOption。第二個需要用引號括起來:「一些有空間的價值」。如何將2個參數傳遞給Nant腳本?

例如-myOption「this value」

我是Nant的新手,所以到目前爲止我沒有成功,不知道如何輸出命令進行調試。

這是我到目前爲止有:

<target name="Build" depends="SetupConfig"> 
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}" commandline="-myOption:"> 
<arg>${refactory.clientconfig}</arg> 
</exec> 

我試圖創建一個使用「命令行」」屬性的命令和ARGS嵌套元素。 args元素應該提供qoutes。

有人可以告訴我這應該是什麼樣子?謝謝。

回答

2

試試這個:

<target name="Build" depends="SetupConfig"> 
<exec workingdir="${refactory.basedir}" program="${exe.name.mfg.factory}" basedir="${refactory.basedir}"> 
    <arg value="-myOption" /> 
    <arg value="${refactory.clientconfig}" /> 
</exec> 

欲瞭解更多信息視圖Nant Exec task documentation

+0

添加value =屬性是個好主意:) – Nick

29

我需要承認,看着你的代碼片段,它並不完全清楚,你正在努力實現什麼。

無論如何,這是你如何傳遞兩個參數來南特腳本(什麼你聲稱對有關的問題的標題):

鑑於南特腳本example.project.build有以下內容:

<?xml version="1.0"?> 
<project name="example.project" default="example.target" basedir="."> 
    <target name="example.target"> 
    <echo message="${arg.option}" /> 
    <echo message="${arg.whitespace}" /> 
    </target> 
</project> 

...你會打電話

nant -buildfile:example.project.build -D:arg.option=foo -D:arg.whitespace="bar and bar" 

...執行腳本example.project.build和傳遞參數arg.optionarg.whitespace

+0

這應該是公認的答案。 – J0e3gan