2011-10-08 21 views
7

Supponiamo che io sonoCome eliminare tutte le sottocartelle in alcune cartelle in Ant?

/Root 
    /A 
     /to_delete 
     /not_to_delete 
    /B 
     /to_delete 
     /not_to_delete 
    /C 
     /to_delete 
     /not_to_delete 

Come eliminare le cartelle denominate "to_delete" in Formica?

+0

Eventuali duplicati di [Eliminare le cartelle tranne uno] (https://stackoverflow.com/questions/15619692/delete-folders-except-one) – peterh

+0

ho lottato molto con esso, al momento, penso che [ questo] (https://stackoverflow.com/a/25668084/1783163) è ciò che volevi davvero. – peterh

risposta

10

Si prega di controllare questo:

http://ant.apache.org/manual/Tasks/delete.html

Se non si desidera specificare A, B, C si dovrà fare un po 'brutto distrettuali per searcing ricorsivamente tutte le sottodirectory. Ho fatto questo con uno script java personalizzato.

Se è possibile specificare A, B, C se solo bisogno di qualcosa:

<delete includeEmptyDirs="true"> 
    <fileset dir="root" includes="**/to_delete/"/> 
</delete> 
+0

No. Non voglio specificare A, B, C Non conosco il nome quando cancello, ma so che sotto quella cartella c'è una cartella chiamata "to_delete". Non è possibile usare solo Ant? – performanceuser

+0

Beh, dipende da cosa intendi solo Ant :). Non penso ci sia un'attività ricorsiva di ricerca/cancellazione. Puoi scrivere il tuo in una delle lingue BSF supportate. – FailedDev

+0

Stavo cercando di utilizzare: \t \t \t \t \t \t \t \t \t \t \t \t sembrare doesn' t work – performanceuser

0

Si prega di provare il codice qui sotto e funziona per rimuovere le dir e sub dirs pure.

<delete includeEmptyDirs="true"> 
    <fileset dir="${dir.to.delete}"> 
    <include name = "**" /> 
    <exclude name = "**/.svn" /> <!-- in case you want to skip .svn folders to avoid SVN conflicts --> 
    </fileset> 
</delete> 
Problemi correlati