2010-09-14 13 views

risposta

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

Se ho bisogno di eseguire un cmd/bat file per preparare l'ambiente prima di eseguire un .exe in un'imminente attività Ant, come funziona? Ho usato questo metodo e sembra che esegua il mio file cmd, ma il seguente .exe non ne è a conoscenza e lamenta che l'env non è stato preparato. –

+0

Ho provato con '' e, anche se non ci sono errori, e registra il fatto che sta eseguendo qualcosa, non cancella la finestra di comando. Perchè è questo? Ho anche provato a scrivere cl in un file .bat e .cmd e ad eseguirlo. E 'possibile cancellare la finestra di comando di windows da ant attraverso altri mezzi? – brennanyoung

8

È possibile eseguire questa operazione utilizzando l'attività exec. Dalla documentazione ant form:

Nota che i file .bat non possono in generale essere eseguiti direttamente. Uno normalmente ha bisogno di eseguire il comando eseguibile shell cmd usando l'opzione/c.

Quindi si avrebbe bisogno di fare qualcosa di simile:

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

Si noti che in questo modo si è creato una dipendenza di eseguire lo script ant in finestre.

1

aggiunta alla risposta eradicus, è possibile anche eseguire .bat, .cmd, ... da qualsiasi directory con l'argomento sul tuo computer Window da

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