2010-09-14 10 views

Antwort

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

Wenn ich einen cmd/Schläger ausführen muß Datei, um die Umgebung vorzubereiten, bevor ich eine .exe in einer bevorstehenden Ant-Task ausführe, wie funktioniert das? Ich habe diese Methode verwendet und es scheint, meine CMD-Datei auszuführen, aber dann die folgende .exe ist dies nicht bekannt und beschwert sich, dass das env nicht vorbereitet wurde. –

+0

Ich habe versucht mit '' und, während es keine Fehler gibt, und es protokolliert die Tatsache, dass es etwas ausführt, wird das Befehlsfenster nicht gelöscht. Warum ist das? Habe auch versucht, cls in eine .bat und .cmd Datei zu schreiben und diese auszuführen. Ist es möglich, das Windows-Befehlsfenster von ant auf andere Weise zu löschen? – brennanyoung

8

Sie können dies tun, indem Sie die exec Aufgabe verwenden. Von der ant-exec-Dokumentation:

Beachten Sie, dass .bat-Dateien im Allgemeinen nicht direkt ausgeführt werden können. In der Regel muss man die Befehlsschaltfläche Executable cmd mit der Option/c ausführen.

So müssen Sie so etwas wie tun:

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

Hinweis, dass dadurch Sie eine Abhängigkeit für den Betrieb Ihres Ant-Skripts in Windows erstellt haben.

1

Hinzufügen zu eradicus Antwort können Sie auch .bat ausführen, .cmd, ... aus einem beliebigen Verzeichnis mit dem Argumente auf Ihrer Fenstermaschine von

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