Подтвердить что ты не робот

Как распечатать набор файлов в файл, одно имя файла в строке?

У меня есть заполненный набор файлов, и мне нужно распечатать соответствующие имена файлов в текстовый файл.

Я пробовал это:

<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.

Вот script, с которым я закончил:

<fileset id="sounds_fileset" dir="../sound">
    <include name="*.wav" />
    <include name="*.ogg" />
</fileset>

<pathconvert pathsep="&#xA;" property="sounds" refid="sounds_fileset">
    <mapper type="flatten" />
</pathconvert>

<echo file="sounds.txt">${sounds}</echo>
4b9b3361

Ответ 1

Используйте задачу PathConvert:

<fileset id="myfileset" dir="../sounds">
    <include name="*.wav" />
    <include name="*.ogg" />
</fileset>

<pathconvert pathsep="${line.separator}" property="sounds" refid="myfileset">
    <!-- Add this if you want the path stripped -->
    <mapper>
        <flattenmapper />
    </mapper>
</pathconvert>
<echo file="sounds.txt">${sounds}</echo>

Ответ 2

Так как Ant 1.6 вы можете использовать toString:

<echo file="sounds.txt">${toString:myfileset}</echo>