2015-07-14 2 views
2

Я хочу запустить две команды dos из задачи Ant exec.Как запустить несколько команд из задачи Ant exec

Я попытался ниже код

<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.

ответ

0

Почему вам нужно запустить две команды в одной <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 задачи в том же файле, вы можете использовать параметр file в команде echo и параметр append в задаче exec.

3

Это должно сработать. Простое соединение команд.

<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} &amp; Load.bat ${moduleName} ${Intapp} ${CcvStatus}"/> 
</exec> 
+0

Я пробовал это раньше, но дает мне ошибку неизвестного персонажа «&» – PV2710

+0

I сценарий выше работает. Но с сущностью маскированный амперсанд –

+0

Я пришел сюда с тем же вопросом, и этот ответ он отлично. Сначала я попробовал '&', но ANT жаловался на этот символ, но '&' делает трюк. Благодарю. – Tenzin