Noman Arain
Noman Arain

Reputation: 1162

Ant exec, How to arg

So I have the below build file:

<target name="test">
    <echo message="test"></echo>
    <exec executable="C:\Users\Abc\Desktop\cmd.bat" >
        <arg value="exit"/>
        <arg value="mkdir C:\Users\Abc\Desktop\ant\test"/>
    </exec>
</target>

I thought it would create a test folder there but its not. It pops out another command prompt window, I thought the exit would close that but it doesn't. I'm not sure what I am doing wrong.


The content of bath script test1.bat:

@echo off
echo %1

And ant's build.xml:

<target name="test">
    <echo message="test"></echo>
    <exec executable="C:\Users\AAA\Desktop\ant\test1.cmd">
        <arg value="hello"/>
    </exec>
</target>

Upvotes: 0

Views: 3150

Answers (1)

Janac Meena
Janac Meena

Reputation: 3557

As per the official documentation:

Note that .bat files cannot in general by executed directly. One normally needs to execute the command shell executable cmd using the /c switch

Follow this format instead:

<target name="help">
  <exec executable="cmd">
    <arg value="/c"/>
    <arg value="ant.bat"/>
    <arg value="-p"/>
  </exec>
</target>

Source: https://ant.apache.org/manual/Tasks/exec.html

Upvotes: 2

Related Questions