2010-10-19 4 views
15

Ich brauche ein Apache Ant-Ziel, das alle Dateien in einem Verzeichnis löscht, aber Unterverzeichnisse nicht berührt.Lösche alle Dateien in einem Verzeichnis ohne Unterverzeichnisse mit Apache Ant

In meinem aktuellen Ansatz muss ich explizit die Unterverzeichnisse nennen, die ich überspringen möchte (atm nur "src /").

<delete> 
    <fileset dir="${dist.dir}" excludes="src/" /> 
</delete> 

Aber ich mag es nicht. Auf diese Weise müsste ich das Ziel jedes Mal ändern, wenn sich etwas in der Unterverzeichnisstruktur ändert.

Irgendwelche Ideen?

Antwort

39

sollte diese Arbeit:

<delete> 
    <fileset dir="${dist.dir}"> 
     <include name="*"/> 
    </fileset> 
</delete> 

Die * Wildcard nur die Dateien auf der obersten Ebene löschen sollte, keine Verzeichnisse oder Unterverzeichnisse. Wenn Sie möchten, dass es rekursiv ist, müssen Sie stattdessen **/* verwenden.

+4

Funktioniert perfekt. Vielen Dank! :) – tyrondis