2016-12-14 4 views
1

В Windows я пытаюсь выполнить две команды (.cmd и .exe), позже требуя параметров, в одной задаче exec(). Это делается для того, чтобы избежать использования двух оболочек, однако выполняется только первая команда.Как запускать несколько команд с аргументами из одной задачи Ant exec

Ниже муравей SNIPPET

 <exec executable="cmd" dir="C:\PROGRA~1\IBM\IIB\10.0.0.7\server\bin\"> 
      <arg value="/c mqsiprofile.cmd &amp; C:\PROGRA~1\IBM\IIB\10.0.0.7\server\bin\mqsideploy.exe" /> 
      <arg value="IIBNODE1" /> 
      <arg value="-e" /> 
      <arg value="default" /> 
      <arg value="-a" /> 
      <arg value="${bar.name}" /> 
     </exec> 

Я побежал без & усилителя и замены "PROGRA ~ 1" с "Program Files", все тот же вопрос. Пожалуйста, предложите.

ответ

0

Вы можете включать в себя как в одной цели:

<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 и параметр append в задаче exec.

Код: How to run multiple commands from ant exec task