2010-09-14 38 views

Trả lời

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

Nếu tôi cần phải chạy một cmd/dơi tệp để chuẩn bị môi trường trước khi tôi chạy tệp .exe trong tác vụ Ant sắp tới, cách thức hoạt động? Tôi đã sử dụng phương pháp này và nó xuất hiện để thực thi tập tin cmd của tôi, nhưng sau đó .exe là không nhận thức được điều này và phàn nàn rằng các env đã không được chuẩn bị. –

+0

Tôi đã thử với '' và, trong khi không có lỗi, và nó ghi lại một thực tế rằng nó đang thực hiện một cái gì đó, nó không rõ ràng cửa sổ lệnh. Tại sao điều này? Cũng cố gắng viết cls vào một tập tin .bat và .cmd và thực hiện điều đó. Có thể xóa cửa sổ lệnh của cửa sổ khỏi kiến ​​thông qua một số phương tiện khác không? – brennanyoung

8

Bạn có thể thực hiện việc này bằng cách sử dụng tác vụ exec. Từ tài liệu ant exec:

Lưu ý rằng các tệp .bat không thể nói chung được thực hiện trực tiếp. Người ta thường cần thực hiện lệnh cmd thực thi lệnh bằng cách sử dụng nút chuyển/c.

Vì vậy, bạn sẽ cần phải làm điều gì đó như:

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

Lưu ý rằng bằng cách làm này bạn đã tạo ra một sự phụ thuộc của chạy kịch bản kiến ​​của bạn trong cửa sổ.

1

Thêm vào câu trả lời eradicus, bạn cũng có thể thực hiện .bat, .cmd, ... từ bất kỳ thư mục với lập luận trên máy tính Window của bạn bằng cách

<target name="test">   
    <exec executable="cmd" dir="C:/Users/mydir/"> 
     <arg value="/C" /> 
     <arg value="myjob.bat arg1 arg2" />       
    </exec>  
</target> 
Các vấn đề liên quan