varios una todos por para otro mover los directorio crear copiar contenido consola como comandos comando carpeta archivos archivo java ant

java - una - mover todos los archivos de un directorio a otro en linux



Cómo copiar un directorio usando Ant (11)

He utilizado copydir para copiar un árbol de directorios, pero está en desuso. Mi directorio contiene algunos subdirectorios, y algunos contienen archivos y otros contienen más subdirectorios.

¿Cómo puedo copiar todo el árbol?


Copie los contenidos incluyendo el directorio mismo.

<copy todir="${dest.dir}" > <fileset dir="${src.dir.parent}"> <include name="${src.dir}/**"/> </fileset> </copy>


Copie los contenidos incluyendo el directorio mismo.

<copy todir="${dest.dir}" > <fileset dir="${src.dir.parent}" includes="${src.dir}/**"/> </copy>


Desde el ejemplo manual , puedes escribir un archivo Ant simple usando la tarea de copia.

<project name="MyProject" default="copy" basedir="."> <target name="copy"> <copy todir="./new/dir"> <fileset dir="src_dir"/> </copy> </target> </project>

Esto debería copiar todo dentro de src_dir (excluyéndolo) en new/dir .


Este código debe copiar la carpeta, así como su contenido. También utiliza la tarea de nombre base para evitar tener que realizar un análisis de ruta manual.

<project name="Build" default="doCopy"> <property name="source.dir" value="SourceDirPathGoesHere"/> <property name="dest.dir" value="DestinationDirPathGoesHere"/> <target name="doCopy"> <basename property="source.dir.base.name" file="${source.dir}"/> <copy todir="${dest.dir}"> <fileset dir="${source.dir}/.." includes="${source.dir.base.name}/**"/> </copy> </target> </project>


Estoy agregando un patrón más genérico para copiar todas las subcarpetas.

<copy todir="${dest.dir}" > <fileset dir="${src.dir}" includes="**/*"/> </copy>

Ver Patterns para más detalles.


Finalmente copié usando el siguiente código

<copy todir="${root.dir}/dist/src"> <fileset dir="${root.dir}/build/src" includes="**"/> </copy>

Esto copiará la carpeta src de dist para compilar.

Espero que esto ayude a alguien.


Otra tarea de hormiga es Copydir . La parte clave aquí es incluir el nombre del directorio que desea copiar después del directorio dest. Los subdirectorios y archivos se copiarán automáticamente.

<target name="-post-jar"> <copydir src="config" dest="${dist.dir}/config/"/> </target>


Solo debe especificar el directorio (sin la propiedad includes):

<copy todir="../new/dir"> <fileset dir="src_dir"/> </copy>

Vea el manual para más detalles y ejemplos.


Un buen punto: hormiga solo copiará los subdirectorios si los archivos de origen son más nuevos que los archivos de destino. manual En mi caso, los subdirectores no se copiaban (estoy usando verbose = "true"), ya que no había cambios y ya estaban en el destino. Puede usar "sobrescribir" para forzarlo, o tocar algunos de los archivos en sus subdirectorios de origen.


Utilicé etiquetas de inclusión como se muestra en el fragmento de código a continuación en mi archivo build.xml para copiar archivos jar individuales dentro de un directorio.

<target name="devInstall" depends="generateXsl" description="testing"> <copy flatten="true" todir="${test}/WEB-INF/lib" overwrite="${overwrite}"> <fileset refid="buildJars"/> <fileset dir="lib"> <include name="commons-collections-*.jar"/> <include name="commons-io-*.jar"/> <include name="kodo/*.jar"/> <include name="mail*.jar"/> <include name="activation*.jar"/> <include name="guava*.jar"/> <include name="jna*.jar"/> </fileset> </copy> </target>


<copy todir="${dest.dir}" > <fileset dir="${src.dir}" includes="**"/> </copy>

cree que hará lo que quieras ... (Copia recursiva hecha)