Ant: Как выбрать последний измененный файл из каталога? - PullRequest
12 голосов
/ 31 марта 2011

Предположим, у меня есть каталог, который содержит несколько файлов с одинаковым префиксом имени и отметкой времени, например,

my-directory:
- file-0749
- file-1253
- file-2304

Как я могу сказать ANT выбрать последний измененный файл из моего каталога (в данном случае это будет файл-2304)?

Ответы [ 2 ]

17 голосов
/ 31 марта 2011

Это можно сделать с помощью задачи TimestampSelector из ant-contrib .

<timestampselector property="latest.modified">
  <path>
    <fileset dir="${my-directory.dir}">
      <include name="file-*" />
    </fileset>
  </path>
</timestampselector>

<echo message="${latest.modified}" />
0 голосов
/ 23 апреля 2019

Найден способ без дополнительной библиотеки:

<copy todir="${tmp.last.modified.dir}">
    <last id="last.modified">
        <sort>
            <date />
            <fileset dir="${my.dir}" />
        </sort>
    </last>
</copy>
<echo message="last modified file in ${my.dir}: ${ant.refid:last.modified}" />

Вы можете работать с ant.refid:last.modified напрямую, как и с задачей эха. Не забудьте удалить tmp.last.modified.dir.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...