2010-09-14 40 views

Respuesta

10
<exec executable="cmd" os="Windows XP"> 
    <arg value="/C"/> 
    <arg value="command to run"/> 
</exec> 
+0

Si necesito para ejecutar un cmd/bat archivo para preparar el entorno antes de ejecutar un .exe en una próxima tarea Ant, ¿cómo funciona eso? Usé este método y parece ejecutar mi archivo cmd, pero el siguiente .exe no tiene conocimiento de esto y se queja de que el env no se ha preparado. –

+0

Intenté con '' y, aunque no hay errores, y registra el hecho de que está ejecutando algo, no borra la ventana de comandos. ¿Por qué es esto? También intenté escribir cls en un archivo .bat y .cmd y ejecutar eso. ¿Es posible borrar la ventana de comandos de Windows de hormiga por algún otro medio? – brennanyoung

8

Puede hacerlo utilizando la tarea exec. De la documentación del ejecutor de hormigas:

Tenga en cuenta que los archivos .bat no pueden, en general, ejecutarse directamente. Uno normalmente necesita ejecutar el cmd ejecutable del shell del comando usando el modificador/c.

por lo que tendría que hacer algo como:

<exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="batchfile.cmd"/> 
</exec> 

Tenga en cuenta que al hacer esto se ha creado una dependencia de ejecutar la secuencia de comandos de hormigas en las ventanas.

1

adición a la respuesta eradicus, también se puede ejecutar .bat, .cmd, ... desde cualquier directorio con el argumento en su máquina Ventana por

<target name="test">   
    <exec executable="cmd" dir="C:/Users/mydir/"> 
     <arg value="/C" /> 
     <arg value="myjob.bat arg1 arg2" />       
    </exec>  
</target> 
Cuestiones relacionadas