在Windows上,我试图在一个exec()任务中执行两个要求参数的命令(.cmd和.exe)。这是为了避免使用两个shell,但是只有第一个命令才能执行。
以下是蚂蚁片段
<exec executable="cmd" dir="C:PROGRA~1IBMIIB10.0.0.7serverbin">
<arg value="/c mqsiprofile.cmd & C:PROGRA~1IBMIIB10.0.0.7serverbinmqsideploy.exe" />
<arg value="IIBNODE1" />
<arg value="-e" />
<arg value="default" />
<arg value="-a" />
<arg value="${bar.name}" />
</exec>
我还没有&amp; amp运行它,并用"程序文件"替换" Progra〜1",但仍然存在同一问题。请建议。
您可以将同时包括在一个目标中:
<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
命令中使用文件参数,而exec
任务中的附加参数。
参考:如何从ant Exec任务运行多个命令