2013-05-30 25 views
8

hangi i üzerinde çalışıyorum yarasa komut kod bloğu aşağıda verilmiştir:Komut toplu dosyasında karınca komutundan sonra göz ardı edilir

ECHO off 

IF NOT EXIST "%ANT_HOME%" ( 

    SET ANT_HOME=%~dp0%build\apache-ant-1.8.2 
    SET ANT_BIN=%~dp0%build\apache-ant-1.8.2\bin 

    SET PATH | FIND "%ANT_HOME%;%ANT_BIN%" 
) 
cd "build\Run" 
ant -q 

cd ../.. 
echo "Program Terminated!" 
exit 

Şimdi benim Build.xml dosyası bu yapı \ Run klasörünün içinde kalacak şekilde ben önce ant -q komutunu çalıştırmadan önce çalıştır/çalıştır arasında geziniyorum (NOT: Bu gezinme yöntemini değiştirmek istemiyorum).

an karınca -q komut aşağıdaki akdedilmiş olan şey olur:

  1. koşulu olarak ortam değişkenleri ayarlayın.
  2. Dizini \ Çalıştırılacak şekilde değiştirin.
  3. Benim build.xml, Çalıştır dizininin içinde olduğu gibi, antq komutunun doğru çalışması.
  4. Ant düzgün bir şekilde yürütüldü ve ant komut dosyası sonlandırılmıyor.
  5. Şimdiki yolum \ Run! karınca sonlandırılır sonra = Burada < doğru i yerine i cd../..

kullanılan Ama sorun karınca sonra komutları çalıştırmak mümkün değilim olduğunu neden inşa \ Run çıkıp isterim, bu istemiyoruz -q. Bu, program denetimi BATCH => ANT'dan gider.

Komut komutunun karınca komutundan sonra komutumu yürütmenin herhangi bir yolu var mı?

+1

not, bu 'SET PATH | "! ANT_HOME!;! ANT_BIN!" 'Yolunuzu ayarlamaz - sadece eklemeleriniz varsa size söyler ... – Stephan

cevap

17

Çalıştırılmakta olan ant'un toplu iş dosyasının kendisinde olduğunu, bu durumda yalnızca zincirinin (geri dönüşü olmayan) olduğunu görebilirsiniz.

yerine bu denemelisiniz: (zincirleme aksine)

call ant -q 

doğru bunu denilen bundan sonra noktaya geri dönecek bir toplu dosya çağrılıyor.

+0

Sorunum da giderildi! Teşekkürler! –

+0

Harika sos! Senaryo ile yanlış giden şeyi anlamaya çalışıyorum. Sen benim kurtarıcım T^T –

+0

mükemmel çözüm! benim için çalıştı! çok teşekkürler! –

İlgili konular