Проверьте, существует ли несколько файлов или не используется ANT
Я использую ANT для проверки количества файлов в двух банках. Я не могу проверить, существуют ли файлы одного шаблона или нет.
Например, у меня есть 2 файла, такие как /host/user/dir1/ABC1.txt и /host/user/dir1/ABC2.txt.
Теперь я хочу проверить, есть ли файл шаблона "/host/user/dir1/ABC*" или нет??
Я могу проверить отдельный файл /host/user/dir1/ABC1.txt, используя доступный тег, но не могу проверить файлы на предмет определенного шаблона.
заранее спасибо.
Для отдельного файла отлично работает следующее:
<if>
<available file="${client.classes.src.dir}/${class_to_be_search}.class"/>
<then>
<echo> File ${client.classes.src.dir}/${class_to_be_search}.class FOUND in src dir
</echo>
<echo> Update property client.jar.packages.listOfInnerClass</echo>
</then>
<else>
<echo> File ${client.classes.src.dir}/${class_to_be_search}.class NOT FOUND in src dir.
</echo>
</else>
</if>
Но я хочу найти несколько файлов: что-то вроде: ${dir.structure}/${class_to_be_search}$*. Class
1 ответ
Задача if не является частью ядра ANT.
В следующем примере показано, как это можно сделать с помощью задачи условия ANT. Вы можете использовать любой шаблон, который вы хотите в наборе файлов. Выполнение цели впоследствии зависит от того, как было установлено свойство file.found:
<project name="demo" default="run">
<fileset id="classfiles" dir="build" includes="**/*.class"/>
<condition property="file.found">
<resourcecount refid="classfiles" when="greater" count="0"/>
</condition>
<target name="run" depends="found,notfound"/>
<target name="found" if="file.found">
<echo message="file found"/>
</target>
<target name="notfound" unless="file.found">
<echo message="file not found"/>
</target>
</project>