Pregunta

¿Cómo puedo copiar el contenido de todas las subcarpetas de la carpeta determinada utilizando Ant?

es decir. Tengo tal estructura de carpetas

folder/
folder/sub1/1.txt
folder/sub1/f1/1.txt
folder/sub2/2.txt
...

No sé los nombres exactos de las subcarpetas. Y necesito copiar el contenido de todos ellos en una carpeta (manteniendo la estructura de los contenidos, es decir, copiar todos los archivos en un directorio utilizando aplanar no es una solución). Necesito conseguir

newfolder/1.txt
newfolder/1/1.txt
newfolder/2.txt
...

¿El conjunto de archivos permite a las subcarpetas de grupo en tal manera? ** significa cero o más directorios, y el uso de * como nombre de directorio no está permitida, es decir <fileset dir="${dir}/*/" /> no es aceptable.

Gracias de antemano, Yury

¿Fue útil?

Solución

<copy toDir="newfolder">
  <fileset dir="folder">
    <include name="*/**"/>
    <exclude name="*"/>
  </fileset>
  <regexpmapper from="^[^/]*/(.*)$$" to="\1" handledirsep="true"/>
</copy>

Sólo se necesita especificar handledirsep si alguna vez va a ejecutar esta secuencia de comandos en Windows.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top