如何使用来自单个蚂蚁EXEC任务的参数运行多个命令



在Windows上,我试图在一个exec()任务中执行两个要求参数的命令(.cmd和.exe)。这是为了避免使用两个shell,但是只有第一个命令才能执行。

以下是蚂蚁片段

        <exec executable="cmd" dir="C:PROGRA~1IBMIIB10.0.0.7serverbin">
            <arg value="/c mqsiprofile.cmd &amp; 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任务运行多个命令

最新更新