2013-03-25 20 views
6

sotto la cartella src Ho le seguenti cartelle: Tao, modello di business e, voglio eliminare utilizzando script ant, tutte le cartelle ad eccezione di "modello", così ho provato:eliminare le cartelle, tranne uno

<delete includeemptydirs="true"> 
    <fileset dir="${basedir}/src"> 
    <include name="**/*"/> 
    <exclude name="model/*"/> 
    </fileset> 
    </delete> 

Tutto il le cartelle vengono cancellate excpet "modello" che è vuoto !! tutti i suoi file sono cancellati!

+0

Ho provato questo e funziona. Mentre indosso, vuoi eliminare tutte le cartelle tranne il modello con i suoi file? – pepuch

+0

sì, questo è quello che voglio – junior

risposta

8

Prova invece

<delete includeemptydirs="true"> 
    <fileset dir="${basedir}/src"> 
     <include name="**/*"/> 
     <exclude name="**/model/**"/> 
    </fileset> 
</delete> 
+0

thx, ci proverò :) – junior

+0

Fa una ricerca di sottostruttura ricorsiva non necessaria, che può richiedere molto tempo ed è inutile. – peterh

6

Per i Googler del futuro:

cosa ha funzionato per me:

<fileset dir="target"> 
    <include name="*/"/> 
    <exclude name="big_and_complex_dir/"/> 
</fileset> 

Questo cancellato tutto (ogni file e directory) seguito target/, tranne target/big_and_complex_dir.

Il mio obiettivo era quello di evitare la spiegazione dettagliata della directory non necessaria, che nel caso dello "big_and_complex_dir" richiedeva molto tempo.

Sembra che l'interpretazione del set di file della formica abbia il comportamento non banale, non intuitivo, che è necessario chiudere un percorso di inclusione/esclusione con / se si intende eseguire anche operazioni di sottodirectory ricorsive.

Problemi correlati