如何 运行 来自 ant exec 任务的多个命令
How to run multiple commands from ant exec task
我想 运行 来自 Ant exec 任务的两个 dos 命令。
我试过下面的代码
<exec dir="${testworkspace}${moduleName}" executable="cmd" failonerror="true" output="${testworkspace}${moduleName}\BuildConsole_TC${tc_num}.log" resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus}"/>
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
但它只执行第一个命令并跳过第二个。
我正在 windows OS.
上尝试这个
这应该有效。简单地链接命令。
<exec dir="${testworkspace}${moduleName}" executable="cmd" failonerror="true" output="${testworkspace}${moduleName}\BuildConsole_TC${tc_num}.log" resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus} & Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
为什么您需要在单个 <exec>
任务中 运行 两个命令?相反,只需使用第二个 <exec>
任务。您可以将两者都包含在一个目标中:
<target name="execute.this">
<exec dir="${testworkspace}${moduleName}"
executable="cmd" failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus}"/>
<exec dir="${testworkspace}${moduleName}"
executable="cmd" failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
或者更好的是,只需使用 <echo>
任务:
<echo message="/c echo Download Status is ${DownloadStatus}"/>
<exec dir="${testworkspace}${moduleName}"
executable="cmd"
failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
如果需要echo
任务的输出在同一个文件中,可以在echo
命令中使用file
参数,append
参数在 exec
任务中。
我想 运行 来自 Ant exec 任务的两个 dos 命令。
我试过下面的代码
<exec dir="${testworkspace}${moduleName}" executable="cmd" failonerror="true" output="${testworkspace}${moduleName}\BuildConsole_TC${tc_num}.log" resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus}"/>
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
但它只执行第一个命令并跳过第二个。 我正在 windows OS.
上尝试这个这应该有效。简单地链接命令。
<exec dir="${testworkspace}${moduleName}" executable="cmd" failonerror="true" output="${testworkspace}${moduleName}\BuildConsole_TC${tc_num}.log" resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus} & Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
为什么您需要在单个 <exec>
任务中 运行 两个命令?相反,只需使用第二个 <exec>
任务。您可以将两者都包含在一个目标中:
<target name="execute.this">
<exec dir="${testworkspace}${moduleName}"
executable="cmd" failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c echo Download Status is ${DownloadStatus}"/>
<exec dir="${testworkspace}${moduleName}"
executable="cmd" failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
或者更好的是,只需使用 <echo>
任务:
<echo message="/c echo Download Status is ${DownloadStatus}"/>
<exec dir="${testworkspace}${moduleName}"
executable="cmd"
failonerror="true"
output="${testworkspace}/${moduleName}/BuildConsole_TC${tc_num}.log"
resultproperty="execrc">
<arg value="/c Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/>
</exec>
如果需要echo
任务的输出在同一个文件中,可以在echo
命令中使用file
参数,append
参数在 exec
任务中。