ant - reducido - quiero imprimir y me sale imprimir a archivo
¿Cómo puedo imprimir un conjunto de archivos a un archivo, un nombre de archivo por línea? (2)
Use la tarea 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>
Tengo un conjunto de archivos poblado y necesito imprimir los nombres de archivo coincidentes en un archivo de texto.
Intenté esto:
<fileset id="myfileset" dir="../sounds">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<property name="sounds" refid="myfileset" />
<echo file="sounds.txt">${sounds}</echo>
que imprime todos los archivos en una sola línea, separados por punto y coma. Necesito tener un archivo por línea. ¿Cómo puedo hacer esto sin recurrir a llamar comandos de SO o escribir código de Java?
ACTUALIZAR :
Ah, debería haber sido más específico: la lista no debe contener directorios. Estoy marcando ChssPly76 como la respuesta aceptada de todos modos, ya que el comando pathconvert era exactamente lo que me faltaba. Para quitar los directorios y enumerar solo los nombres de los archivos, utilicé el asignador "aplanar" .
Aquí está el guión con el que terminé:
<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>
Desde Ant 1.6 puede usar toString :
<echo file="sounds.txt">${toString:myfileset}</echo>