robocopy

Copia los datos de archivo de una ubicación a otra.

Sintaxis

robocopy <source> <destination> [<file>[ ...]] [<options>]

Por ejemplo, para copiar un archivo denominado yearly-report.mov de c:\reports a un recurso compartido de archivos \\marketing\videos mientras se habilita el multiproceso para un mayor rendimiento (con el parámetro /mt ) y la capacidad de reiniciar la transferencia en caso de que se interrumpa (con el parámetro /z ), escriba:

robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z

Importante

Si se copian datos de la raíz de un dispositivo, el directorio de destino adoptará el atributo "oculto" durante el proceso de copia.

Parámetros

Parámetro Descripción
<source> Especifica la ruta de acceso del directorio de origen.
<destination> Especifica la ruta de acceso del directorio de destino.
<file> Especifica el archivo o los archivos que se van a copiar. Se admiten caracteres comodín (* o ?). Si no especifica este parámetro, *.* se usa como valor predeterminado.
<options> Especifica las opciones a usar con el comando robocopy, incluyendo las opciones de copia, archivo, reintento, registro y trabajo.

Opciones de copia

Opción Descripción
/s Copia los subdirectorios. Esta opción excluye automáticamente los directorios vacíos.
/e Copia los subdirectorios. Esta opción incluye automáticamente directorios vacíos.
/lev:<n> Copia solo los n niveles superiores del árbol de directorios de origen.
/z Copia los archivos en modo de reinicio. En el modo reiniciable, si se interrumpe la copia de un archivo, robocopy puede retomarla donde la dejó en lugar de volver a copiar todo el archivo.
/b Copia los archivos en modo de copia de seguridad. En el modo de copia de seguridad, robocopy invalida la configuración de permisos de archivos y carpetas (ACL), lo que podría bloquear el acceso.
/zb Copia los archivos en modo de reinicio. Si se deniega el acceso a archivos, cambia al modo de copia de seguridad.
/j Copia mediante E/S sin búfer (recomendado para archivos grandes).
/efsraw Copia todos los archivos cifrados en el modo sin procesar de EFS.
/copy:<copyflags> Especifica qué propiedades de archivo se van a copiar. Los valores válidos para esta opción son:
  • D: datos
  • A: atributos
  • T: marcas de tiempo
  • X: omitir flujos de datos alternativos
  • S: lista de control de acceso (ACL) de NTFS
  • O: información del propietario
  • U: información de auditoría
El valor predeterminado de la opción /COPY es DAT (datos, atributos y marcas de tiempo). La marca X se omite si se usa /B o /ZB.
/dcopy:<copyflags> Especifica qué copiar en directorios. Los valores válidos para esta opción son:
  • D: datos
  • A: atributos
  • T: marcas de tiempo
  • E: atributo extendido
  • X: omitir flujos de datos alternativos
El valor predeterminado de esta opción es DA (datos y atributos).
/s Copia archivos con seguridad (equivalente a /copy:DATS).
/copyall Copia toda la información del archivo (equivalente a /copy:DATSOU).
/nocopy No copia información de archivo (útil con /purge).
/secfix Corrige la seguridad de los archivos en todos los archivos, incluso los omitidos.
/timfix Corrige los tiempos de todos los archivos, incluso los omitidos.
/purge Elimina los archivos y directorios de destino que ya no existen en el origen. Si usa esta opción con la opción /e y un directorio de destino, permite que la configuración de seguridad del directorio de destino no se sobrescriba.
/mir Refleja un árbol de directorios (equivalente a /e más /purge). El uso de esta opción con la opción /e y un directorio de destino sobrescribe la configuración de seguridad del directorio de destino.
/mov Mueve los archivos y los elimina del origen después de copiarlos.
/move Mueve archivos y directorios y los elimina del origen después de copiarlos.
/a+:[RASHCNET] Agrega los atributos especificados a los archivos copiados. Los valores válidos para esta opción son:
  • R: Solo lectura
  • A: Archivo
  • S: Sistema
  • H: Oculto
  • C: Comprimido
  • N: Contenido no indexado
  • E: Cifrado
  • T: Temporal
/a-:[RASHCNETO] Quita los atributos especificados de los archivos copiados. Los valores válidos para esta opción son:
  • R: Solo lectura
  • A: Archivo
  • S: Sistema
  • H: Oculto
  • C: Comprimido
  • N: Contenido no indexado
  • E: Cifrado
  • T: Temporal
  • O: sin conexión
/create Crea un árbol de directorios y solo archivos de longitud cero.
/fat Crea archivos de destino usando solo nombres de archivo FAT de longitud de caracteres de 8,3.
/256 Desactiva la compatibilidad con rutas de acceso de más de 256 caracteres.
/mon:<n> Supervisa el origen y se ejecuta de nuevo cuando se detectan más de n cambios.
/mot:<m> Supervisa el origen y se ejecuta de nuevo en m minutos si se detectan cambios.
/rh:hhmm-hhmm Especifique los tiempos de ejecución en los que se pueden iniciar nuevas copias.
/pf Comprueba los tiempos de ejecución por archivo (no por pase).
/ipg:<n> Especifica el espacio entre paquetes para liberar ancho de banda en las líneas lentas.
/sj Copia los cruces (vínculos simbólicos) en la ruta de acceso de destino en lugar de los objetivos de los vínculos.
/sl No seguir los vínculos simbólicos y, en su lugar, crear una copia del vínculo.
/mt:<n> Crea copias multiproceso con n subprocesos. n debe ser un número entero entre 1 y 128. El valor predeterminado para n es 8. Para mejorar el rendimiento, redirija la salida mediante la opción /log.

El parámetro /mt no se puede usar con los parámetros /ipg y /efsraw.

/nodcopy No copia ninguna información de directorio (se hace de manera predeterminada /dcopy:DA).
/nooffload Copia archivos sin usar el mecanismo de descarga de copia de Windows.
/compress Solicita la compresión de red durante la transferencia de archivos, si procede.
/sparse Permite conservar el estado disperso de los archivos durante la copia.

Importante

Al usar la opción de copia /secfix, especifique el tipo de información de seguridad que quiere copiar, usando una de estas opciones de copia adicionales:

  • /copyall
  • /copy:o
  • /copy:s
  • /copy:u
  • /sec

Nota:

El parámetro /mt se introdujo en Windows Server 2008 R2 y su funcionalidad se aplica a las versiones actuales de Windows Server.

Copiar opciones de limitación de archivos

Opción Descripción
/iomaxsize:<n>[kmg] Tamaño máximo de E/S solicitado por ciclo de lectura y escritura en nkilobytes, megabytes o gigabytes.
/iorate:<n>[kmg] Tasa de e/S solicitada en nkilobytes megabytes o gigabytes por segundo.
/threshold:<n>[kmg] Umbral de tamaño de archivo para la limitación en nkilobytes, megabytes o gigabytes (vea Comentarios).

Estas opciones de limitación se usan para especificar el ancho de banda de E/S máximo que Robocopy permite usar en bytes por segundo. Si no se especifican en bytes por segundo, se pueden usar números enteros si se especifica k, m o g. El ancho de banda de E/S mínimo que se limita es de 524288 bytes aunque se especifique un valor menor.

Opciones de selección de archivos

Opción Descripción
/a Copia solo los archivos para los que se establece el atributo Archive.
/m Copia solo los archivos para los que se establece el atributo Archive y restablece el atributo Archive.
/ia:[RASHCNETO] Incluye solo los archivos para los que se establece cualquiera de los atributos especificados. Los valores válidos para esta opción son:
  • R: Solo lectura
  • A: Archivo
  • S: Sistema
  • H: Oculto
  • C: Comprimido
  • N: Contenido no indexado
  • E: Cifrado
  • T: Temporal
  • O: sin conexión
/xa:[RASHCNETO] Excluye archivos que tienen cualquiera de los atributos especificados establecidos. Los valores válidos para esta opción son:
  • R: Solo lectura
  • A: Archivo
  • S: Sistema
  • H: Oculto
  • C: Comprimido
  • N: Contenido no indexado
  • E: Cifrado
  • T: Temporal
  • O: sin conexión
/xf <filename>[ ...] Excluye los archivos que coinciden con los nombres o rutas de acceso especificados. Se admiten caracteres comodín (* y ?).
/xd <directory>[ ...] Excluye los directorios que coinciden con los nombres y rutas de acceso especificados.
/xc Excluye los archivos existentes con la misma marca de tiempo, pero tamaños de archivo diferentes.
/xn Los archivos de directorio de origen más recientes que el destino se excluyen de la copia.
/xo Los archivos de directorio de origen anteriores al destino se excluyen de la copia.
/xx Excluye archivos y directorios adicionales presentes en el destino, pero no en el origen. La exclusión de archivos adicionales no eliminará los archivos del destino.
/xl Excluye los archivos y directorios "solitarios" presentes en el origen, pero no en el destino. Excluir archivos solitarios impide que se agreguen nuevos archivos al destino.
/im Incluir archivos modificados (tiempos de cambio diferentes).
/is Incluye los mismos archivos. Los mismos archivos son idénticos en nombre, tamaño, tiempos y todos los atributos.
/it Incluye archivos "retocados". Los archivos retocados tienen el mismo nombre, tamaño y tiempos, pero atributos diferentes.
/max:<n> Especifica el tamaño máximo de archivo (para excluir archivos mayores que n bytes).
/min:<n> Especifica el tamaño mínimo del archivo (para excluir archivos menores que n bytes).
/maxage:<n> Especifica la antigüedad máxima de los archivos (para excluir los archivos de más de n días o anteriores a una fecha).
/minage:<n> Especifica la antigüedad mínima del archivo (para excluir los archivos de menos de n días o posteriores a una fecha).
/maxlad:<n> Especifica la fecha máxima de último acceso (excluye los archivos sin usar desde n).
/minlad:<n> Especifica la fecha mínima de último acceso (excluye los archivos usados desde n) Si n es menor que 1 900, n especifica el número de días. De lo contrario, n especifica una fecha con el formato AAAAMMDD.
/xj Excluye los puntos de unión, que normalmente se incluyen de forma predeterminada.
/fft Se da por supuesto que se trata de tiempos de archivos FAT (precisión de dos segundos).
/dst Compensa las diferencias horarias DST de una hora.
/xjd Excluye los puntos de unión de los directorios.
/xjf Excluye los puntos de unión de los archivos.

Opciones de reintento

Opción Descripción
/r:<n> Especifica el número de reintentos en las copias con errores. El valor predeterminado de n es 1 000 000 (un millón de reintentos).
/w:<n> Especifica el tiempo de espera entre reintentos, en segundos. El valor predeterminado de n es 30 (tiempo de espera de 30 segundos).
/reg Guarda los valores especificados en las opciones /r y /w como valores predeterminados en el registro.
/tbd Especifica que el sistema espera a que se definan los nombres de los recursos compartidos (error de reintento 67).
/lfsm Operar en modo de poco espacio disponible, que permite copiar, pausar y reanudar (consulte Comentarios).
/lfsm:<n>[kmg] Especifica el tamaño de "floor" en nkilobytes, megabytes o gigabytes.

Opciones de registro

Opción Descripción
/l Especifica que solo se enumerarán los archivos (y no se copiarán, eliminarán ni se les pondrá una marca de tiempo).
/x Notifica todos los archivos adicionales, no solo los seleccionados.
/v Genera una salida detallada y muestra todos los archivos omitidos.
/ts Incluye marcas de tiempo de archivo de origen en la salida.
/fp Incluye los nombres de ruta de acceso completos de los archivos en la salida.
/bytes Imprime tamaños como bytes.
/ns Especifica que los tamaños de archivo no se van a registrar.
/nc Especifica que las clases de archivo no se van a registrar.
/nfl Especifica que los nombres de archivo no se van a registrar.
/ndl Especifica que los nombres de directorio no se van a registrar.
/np Especifica que no se mostrará el progreso de la operación de copia (el número de archivos o directorios copiados hasta el momento).
/eta Muestra el tiempo estimado de llegada (ETA) de los archivos copiados.
/log:<logfile> Escribe la salida del estado en el archivo de registro (sobrescribe el archivo de registro existente).
/log+:<logfile> Escribe la salida del estado en el archivo de registro (sobrescribe el archivo de registro existente).
/unilog:<logfile> Escribe la salida de estado en el archivo de registro como texto Unicode (sobrescribe el archivo de registro existente).
/unilog+:<logfile> Escribe la salida de estado en el archivo de registro como texto Unicode (anexa la salida al archivo de registro existente).
/tee Escribe la salida de estado en la ventana de la consola y en el archivo de registro.
/njh Especifica que no hay ningún encabezado de trabajo.
/njs Especifica que no hay ningún resumen del trabajo.
/unicode Muestra la salida de estado como texto Unicode.

Opciones del trabajo

Opción Descripción
/job:<jobname> Especifica que los parámetros se van a derivar del archivo de trabajo con nombre. Para ejecutar /job:jobname, primero debe ejecutar el parámetro /save:jobname para crear el archivo de trabajo.
/save:<jobname> Especifica que los parámetros se guardarán en el archivo de trabajo con nombre. Debe ejecutarse antes de ejecutar /job:jobname. Todas las opciones de copia, reintento y registro deben especificarse antes de este parámetro.
/quit Sale después de procesar la línea de comandos (para ver los parámetros).
/nosd Indica que no se ha especificado ningún directorio de origen.
/nodd Indica que no se ha especificado ningún directorio de destino.
/if Incluye los archivos especificados.

Comentarios

  • El uso de /PURGE o /MIR en el directorio raíz del volumen anteriormente provocaba que robocopy aplicara la operación solicitada también en los archivos dentro del directorio de Información del volumen del sistema. Esto ya no es así, ya que si se especifica cualquiera de los dos, robocopy omitirá cualquier archivo o directorio con ese nombre en los directorios de origen y destino de nivel superior de la sesión de copia.

  • La clasificación de archivos modificados solo se aplica cuando los sistemas de archivos de origen y destino son compatibles con las marcas de tiempo de cambio, como NTFS, y los archivos de origen y destino tienen tiempos de cambio diferentes pero, por lo demás, son iguales. Estos archivos no se copian de forma predeterminada. Especifique /IM para incluirlos.

  • La marca /DCOPY:E solicita que se deba intentar la copia extendida de atributos para los directorios. Robocopy continuará si no se pudieron copiar las entidades de certificación de un directorio. Esta marca no se incluye en /COPYALL.

  • Si se especifica /IoMaxSize o /IoRate, robocopy activará la limitación de archivos de copia para reducir la carga del sistema. Ambos se pueden ajustar a valores óptimos y parámetros de copia, pero el sistema y robocopy pueden ajustarlos a los valores permitidos según sea necesario.

  • Si se usa /Threshold, especifica un tamaño mínimo de archivo para activar la limitación. Los archivos de menor tamaño no se limitarán. Los valores de los tres parámetros pueden ir seguidos de un carácter de sufijo opcional, como [KMG] (kilobytes, megabytes, gigabytes).

  • El uso de /LFSM solicita que la robocopia funcione en "modo de poco espacio disponible". En este modo, robocopy se pondrá en pausa siempre que una copia de archivo haga que el espacio disponible del volumen de destino se sitúe por debajo de un valor 'floor'. Este valor puede especificarse explícitamente usando la marca /LFSM:n[KMG].

  • Si /LFSM se especifica sin ningún valor floor explícito, floor se establece en el 10 % del tamaño del volumen de destino. El modo de poco espacio disponible es incompatible con /MT y /EFSRAW.

Códigos de salida (retorno)

Valor Descripción
0 No se copiaron archivos. No se encontró ningún error. No hay archivos que no coincidan. Los archivos ya existen en el directorio de destino; por lo tanto, se omitió la operación de copia.
1 Todos los archivos se copiaron correctamente.
2 Hay algunos archivos adicionales en el directorio de destino que no están presentes en el directorio de origen. No se copiaron archivos.
3 Se copiaron algunos archivos. Existían archivos adicionales. No se encontró ningún error.
5 Se copiaron algunos archivos. Algunos archivos no coincidían. No se encontró ningún error.
6 Existen archivos adicionales y archivos que no coinciden. No se copiaron archivos y no se encontraron errores, lo que significa que los archivos ya existen en el directorio de destino.
7 Los archivos se copiaron, había un error de coincidencia de archivo y había archivos adicionales presentes.
8 Varios archivos no se copiaron.

Nota:

Cualquier valor igual o mayor que 8 indica que hubo al menos un error durante la operación de copia.

Ejemplos

Se recomienda encarecidamente al ejecutar el comando robocopy para crear un archivo de registro que se pueda ver una vez que el proceso haya completado la comprobación de su integridad. En los ejemplos siguientes, todos usan el parámetro /LOG:. Para anexar cualquier información de registro al mismo archivo de registro, use el parámetro /LOG+: en su lugar.

Para copiar todos los archivos y subdirectorios, incluidos los directorios vacíos, de la carpeta "Registros" a la carpeta "Copia de seguridad" de la unidad "D", escriba lo siguiente:

robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log

Para reflejar el contenido de la carpeta "Registros" en la carpeta "Copia de seguridad" de la unidad "D", elimine los archivos del destino que no existan en el origen con dos reintentos y esperando cinco segundos entre cada reintento, escriba lo siguiente:

robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log

Para copiar todos los archivos y subdirectorios que no están vacíos de la carpeta "Registros" en la carpeta "Copia de seguridad" de la unidad "D", conservando los datos de archivo, los atributos y las marcas de tiempo con 16 operaciones de copia multiproceso, escriba lo siguiente:

robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log

Para mover archivos y subdirectorios, excepto los directorios vacíos, de la carpeta "Records" a la carpeta "Copia de seguridad" de la unidad "D" y excluir los archivos de más de siete días, escriba lo siguiente:

robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log

Para copiar todos los archivos y subdirectorios, incluidos los directorios vacíos, de la carpeta "Registros" a la carpeta "Copia de seguridad" de la unidad "D" que muestre el tiempo estimado para cada archivo y elimine los archivos y directorios del destino que no existen desde el origen, escriba lo siguiente:

robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log

Para copiar todos los archivos y subdirectorios de la carpeta denominada "Records" de la unidad "C" en una carpeta denominada "Backup" en la unidad "D" al limitar la velocidad de E/S a 1 megabyte por segundo durante la operación de copia, escriba lo siguiente:

robocopy C:\Records D:\Backup /iorate:1m