У меня есть заполненный набор файлов, и мне нужно распечатать соответствующие имена файлов в текстовый файл.Как распечатать набор файлов в файл, по одному имени файла в строке?
Я попытался это:
<fileset id="myfileset" dir="../sounds">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<property name="sounds" refid="myfileset" />
<echo file="sounds.txt">${sounds}</echo>
который печатает все файлы на одной строке, разделенных точкой с запятой. Мне нужно иметь один файл в строке. Как я могу это сделать, не прибегая к вызовам команд ОС или написанию кода Java?
UPDATE:
Ах, должно быть более конкретным - список не должен содержать каталоги. Я все равно отмечаю ChssPly76 как принятый ответ, так как команда pathconvert была именно тем, чего мне не хватало. Чтобы разбить каталоги и перечислить только имена файлов, я использовал "flatten" mapper.
Вот скрипт, который я закончил с:
<fileset id="sounds_fileset" dir="../sound">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<pathconvert pathsep="
" property="sounds" refid="sounds_fileset">
<mapper type="flatten" />
</pathconvert>
<echo file="sounds.txt">${sounds}</echo>
Задача PathConvert кажется, создает абсолютный путь к файлу. Есть ли возможность предотвратить это? У меня такая же проблема и вы хотите распечатать список файлов, но не полный путь, а относительный путь (так что сглаживание не будет работать для меня) – Soccertrash
@Soccertrash, я решил это с последующей обработкой файла с помощью <<файла замены = "$ {sounds.txt}" token = "$ {basedir} \" value = "" /> 'для удаления общего базового dir-префикса (в моем случае). – mgaert
@mgaert, вы можете сделать это на месте как ' '. Поместите его в''. –