Удалите все файлы в каталоге без подкаталогов с помощью Apache Ant - PullRequest
19 голосов
/ 19 октября 2010

Мне нужна цель Apache Ant, которая удаляет все файлы в каталоге, но не затрагивает подкаталоги.

В моем текущем подходе я должен явно указать подкаталоги, которые я хочу пропустить (атм просто "src /").

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

Но мне это не нравится. Таким образом, мне придется изменять цель каждый раз, когда что-то меняется в структуре подкаталога.

Есть идеи?

1 Ответ

44 голосов
/ 19 октября 2010

Это должно работать:

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

Подстановочный знак * должен удалять только файлы верхнего уровня, а не каталоги или подкаталоги.Если вы хотите, чтобы он был рекурсивным, вам нужно использовать **/*.

...