Robocopy: qué es, comandos y ejemplos para copiar carpetas

Robocopy sirve para copiar carpetas y subcarpetas a un disco externo como este: un disco duro de 2,5 pulgadas en una caja transparente, conectado por cable USB a un portátil

Robocopy es la orden de Windows para copiar carpetas enteras sin quedarse a medias. Copia solo lo que cambió, reintenta cuando algo falla y deja un registro de lo que hizo. Esta guía explica qué es, cómo se usa y cuáles son los comandos de Robocopy que de verdad hacen falta. Además, trae ejemplos de Robocopy listos para usar: desde copiar carpetas y subcarpetas a un disco externo hasta migrar un servidor de archivos. Todo sirve para Robocopy en Windows 11, en Windows 10 y en Windows Server.

No lo copiamos del manual. Ejecutamos cada orden en un equipo real y anotamos lo que la ayuda no avisa. Por ejemplo, una carpeta de origen mal escrita vació una copia de 12 archivos en menos de un segundo. Además, con los valores de fábrica, un solo archivo abierto puede dejar la copia esperando 347 días.

Si la consola todavía le resulta ajena, empiece por nuestra guía de comandos CMD. Allí están cd, dir y copy, que aquí se dan por sabidos.

Qué es Robocopy y para qué sirve

Robocopy es la abreviatura de «Robust File Copy», copia robusta de archivos. Nació en 1996, dentro de un kit de recursos de Windows NT. Desde Windows Vista y Windows Server 2008 viene instalado con el sistema. Por tanto, no hay que descargar nada: ya está en su equipo.

Sirve, sobre todo, para tres trabajos:

  • Copiar o mover carpetas grandes, con miles de archivos, sin vigilar la ventana.
  • Mantener una carpeta igual a otra, por ejemplo en un disco externo o en un NAS.
  • Migrar un servidor de archivos y conservar los permisos y las fechas.

En cambio, no tiene ventana propia. Windows no incluye una interfaz gráfica para Robocopy. Se escribe en la Terminal, en el Símbolo del sistema o en PowerShell.

Robocopy frente a copy y xcopy

Windows trae otras dos órdenes para copiar. La primera, copy, copia archivos de una sola carpeta. La segunda, xcopy, ya recorre subcarpetas. Sin embargo, Robocopy va bastante más lejos:

FunciónxcopyRobocopy
SubcarpetasSí, con /ESí, con /E
Copiar solo lo que cambióSolo por fecha, con /DSí, por defecto
Reintentar cuando fallaNoSí, con /R y /W
Rutas de más de 260 caracteresFalló con «Memoria insuficiente»Las copió sin opciones extra
Copia espejo, que borra lo que sobraNoSí, con /MIR
Permisos NTFSSí, con /OSí, con /SEC o /COPYALL
Varios archivos a la vezNoSí, con /MT
Registro en un archivoNoSí, con /LOG

La fila de las rutas largas la medimos. Creamos un archivo con una ruta de 550 caracteres. Robocopy lo copió a la primera. En cambio, xcopy respondió «Memoria insuficiente» y no copió nada.

Dónde probamos estos comandos de Robocopy

El equipo de prueba fue un Windows 11 Pro 26H2, con la versión 10.0.26100.1 de robocopy.exe. Trabajamos en un disco NTFS y sin permisos de administrador, como un usuario corriente. Así vimos también qué opciones exigen elevar la consola.

La carpeta de prueba tenía 11 archivos y 6 carpetas. Entre ellos había una carpeta vacía, un archivo oculto y dos temporales. Para medir el rendimiento usamos otra, con 20.000 archivos de 4 KB.

Un dato para dimensionar la herramienta: la ayuda, que se abre con robocopy /?, ocupa 266 líneas. Sin embargo, para el trabajo diario bastan unas quince opciones. Son las de esta guía.

Cómo leer los ejemplos de Robocopy

  • D:\Datos es la carpeta de origen y E:\Copia es el destino, por ejemplo un disco externo. Cámbielas por las suyas.
  • Los ejemplos están escritos para el Símbolo del sistema. En PowerShell funcionan igual, salvo los que usan variables entre signos de porcentaje. De esos damos también la versión de PowerShell.
  • Las opciones se pueden escribir en mayúsculas o en minúsculas. Lo comprobamos: /e y /E hacen lo mismo.
  • Antes de una copia importante, añada /L al final. Con esa opción, Robocopy solo muestra lo que haría.

Cómo usar Robocopy: la sintaxis básica

La orden tiene cuatro partes: el origen, el destino, los archivos y las opciones. Solo las dos primeras son obligatorias.

robocopy D:\Datos E:\Copia

Si la carpeta de destino no existe, Robocopy la crea. Sin embargo, esta orden tiene una sorpresa. Sin opciones, solo copia los archivos del primer nivel. En nuestra prueba copió 3 de los 11 archivos y ninguna subcarpeta.

Copiar carpetas y subcarpetas con Robocopy

Para copiar carpetas y subcarpetas hay que añadir /E:

robocopy D:\Datos E:\Copia /E

Esta vez llegaron los 11 archivos y las 6 carpetas. Existe otra opción parecida, /S. La diferencia es pequeña: /S se salta las carpetas vacías y /E las incluye. De hecho, con /S nuestra carpeta vacía no apareció en el destino.

Después repetimos la misma orden sin tocar nada. Robocopy revisó todo y no copió ningún archivo. Esa es su mayor ventaja: la segunda pasada solo lleva lo nuevo.

Por otra parte, el tercer dato de la orden es un nombre de archivo, no una ruta. Sirve para copiar un solo archivo o los de cierto tipo:

robocopy D:\Datos E:\Copia leeme.txt
robocopy D:\Datos E:\Copia *.pdf *.xlsx /S

La segunda línea copió 7 archivos: los tres PDF y las cuatro hojas de cálculo que había en ese momento.

Cómo leer el resumen de Robocopy

Al terminar, Robocopy imprime una tabla. Esta es la de nuestra primera copia completa:

               Total   Copiado   OmitidoNo coincidencia     ERROR    Extras
Director.:         7         7         0         0         0         0
 Archivos:        11        11         0         0         0         0
    Bytes:    53.7 k    53.7 k         0         0         0         0

En la versión en español, «Omitido» y «No coincidencia» salen pegados. No es un error suyo. Cada columna significa esto:

ColumnaQué cuenta
TotalLo que encontró en el origen
CopiadoLo que copió en esta pasada
OmitidoLo que ya estaba igual en el destino
No coincidenciaNombres que en un lado son archivo y en el otro, carpeta
ERRORLo que no pudo copiar tras agotar los reintentos
ExtrasLo que está en el destino y no en el origen

Por tanto, la columna que hay que mirar siempre es ERROR. Si no está en cero, la copia quedó incompleta.

La barra final dentro de las comillas

Las rutas con espacios van entre comillas. Sin embargo, hay una trampa clásica: terminar la ruta con una barra invertida. Esta orden falla:

robocopy "D:\Mis datos\" "E:\Copia de datos\" /E

La consola lee la barra y la comilla juntas como una comilla dentro del texto. En consecuencia, Robocopy recibió un origen absurdo, con el destino pegado detrás. Respondió «ERROR 123», por un nombre de carpeta incorrecto, y no copió nada. La solución es quitar la barra final:

robocopy "D:\Mis datos" "E:\Copia de datos" /E

Comandos de Robocopy: las opciones más usadas

Estas son las opciones que resuelven casi todo el trabajo diario. Las descripciones siguen la ayuda de Windows:

OpciónQué hace
/ECopia las subcarpetas, también las vacías
/SCopia las subcarpetas, pero no las vacías
/MIRDeja el destino igual al origen: copia y también borra
/LSolo muestra lo que haría, sin copiar ni borrar
/XONo copia un archivo si el del origen es más antiguo
/XF y /XDExcluyen archivos y carpetas por nombre
/MAXAGE:nSolo copia lo modificado en los últimos n días
/MOV y /MOVEMueven: borran del origen lo ya copiado
/R:n y /W:nNúmero de reintentos y segundos de espera entre ellos
/MT:nCopia varios archivos a la vez, con n hilos
/LOG:archivoGuarda el resultado en un archivo
/NPNo muestra el porcentaje de avance
/XJNo entra en las uniones ni en los enlaces simbólicos

Para administradores hay otro grupo de comandos de Robocopy. Los explicamos más abajo, en el apartado de migraciones:

OpciónQué hace
/SECCopia también los permisos NTFS
/COPYALLCopia permisos, propietario y auditoría
/DCOPY:DATConserva también las fechas de las carpetas
/BCopia en modo de copia de seguridad, por encima de los permisos
/ZModo reiniciable: retoma un archivo grande si se corta
/JCopia sin búfer, recomendada para archivos muy grandes
/UNILOG:archivoGuarda el registro en Unicode

Robocopy /MIR: la copia espejo y su riesgo

La opción más buscada de Robocopy es /MIR, de «mirror», espejo. Deja el destino idéntico al origen:

robocopy D:\Datos E:\Copia /MIR

Equivale a /E más /PURGE. Es decir, copia lo nuevo y, además, borra del destino todo lo que ya no está en el origen. Ese borrado es definitivo. Lo comprobamos: lo eliminado no pasó por la papelera de reciclaje.

Ensaye primero con /L

Antes de un espejo, ejecute la misma orden con /L:

robocopy D:\Datos E:\Copia /MIR /L

Robocopy lista lo que haría y no toca nada. En nuestra prueba dejamos un archivo de más en el destino. El ensayo lo marcó así: «*Archivo EXTRA». Esa etiqueta señala lo que el espejo va a borrar. Después del ensayo, el archivo seguía allí. Después del espejo real, ya no.

Qué pasa si el origen es la carpeta equivocada

Esta es la prueba que más nos enseñó. Teníamos una copia con 12 archivos y 6 carpetas. Lanzamos el espejo, pero con el origen mal escrito: apuntaba a una subcarpeta vacía.

robocopy D:\Datos\vacia E:\Copia /MIR

Robocopy hizo exactamente lo que se le pidió. Como el origen estaba vacío, dejó vacío el destino. La copia pasó de 12 archivos a cero en menos de un segundo. Además, no hubo ningún aviso de error: el código de salida fue 2, que significa «había archivos de más».

En cambio, con un origen que no existe, el resultado fue otro. Robocopy respondió «ERROR 2», terminó con el código 16 y no tocó el destino. Por tanto, el peligro no es la ruta inexistente. El peligro es la ruta que existe y está vacía: un disco recién formateado, una carpeta de red sin montar o una subcarpeta equivocada.

De ahí salen tres reglas para usar Robocopy /MIR:

  1. Ensaye siempre con /L y lea las líneas marcadas como EXTRA.
  2. Escriba las rutas completas y revíselas antes de pulsar Intro.
  3. No use un espejo como única copia de sus datos.

/PURGE no es lo mismo que /MIR

La opción /PURGE borra lo que sobra en el destino. Sin embargo, sin /E solo limpia el primer nivel. En nuestra prueba eliminó el archivo sobrante de la carpeta principal y dejó el de la subcarpeta. Por eso, para un espejo completo se usa /MIR.

Ejemplos de Robocopy para el día a día

Estos ejemplos de Robocopy cubren lo que más se pide en una oficina o en casa. Todos se pueden ensayar antes con /L.

Copiar Documentos a un disco externo

La carpeta Documentos vive dentro de su perfil de usuario. Esta orden ensaya su copia a un disco externo:

robocopy "%USERPROFILE%\Documents" "E:\Copia\Documentos" /E /XJ /R:2 /W:5 /L

En PowerShell, la variable se escribe de otra forma:

robocopy "$env:USERPROFILE\Documents" "E:\Copia\Documentos" /E /XJ /R:2 /W:5 /L

Cuando el resumen le convenza, quite /L y la copia se hará de verdad. La opción /XJ no está de adorno. Windows guarda en el perfil varias uniones, que son accesos antiguos a otras carpetas. En nuestro equipo había diez en la raíz del perfil y tres dentro de Documentos, como «Mi música». Al recorrer el perfil sin /XJ, Robocopy contó diez carpetas con error y terminó con el código 8. Con /XJ, en cambio, las omitió y terminó sin errores.

Un aviso más: si usa OneDrive, es posible que sus documentos no estén en esa ruta. En nuestro equipo, la carpeta real estaba dentro de la de OneDrive. Para saberlo, abra las propiedades de Documentos y mire la pestaña Ubicación.

Copiar solo los archivos nuevos o modificados

Robocopy ya lo hace por defecto. Compara el tamaño y la fecha de modificación de cada archivo, y copia solo los que difieren. Con la opción /V muestra cómo clasifica cada uno:

EtiquetaQué significaQué hace Robocopy
Nuevo archNo existe en el destinoLo copia
Más recienteEl del origen es más nuevoLo copia
Más antiguoEl del origen es más viejoTambién lo copia, salvo con /XO
igualMismo tamaño y misma fechaLo omite
*Archivo EXTRASolo está en el destinoLo deja, salvo con /MIR o /PURGE

La tercera fila es otra trampa. Por defecto, Robocopy copia un archivo aunque el del origen sea más viejo. Lo probamos con un archivo editado en el destino: sin más opciones, la versión antigua del origen lo pisó. Para evitarlo se añade /XO:

robocopy D:\Datos E:\Copia /E /XO

Con /XO, la versión nueva del destino sobrevivió. Por otra parte, también se puede filtrar por antigüedad. Esta orden copia solo lo modificado en los últimos 30 días:

robocopy D:\Datos E:\Copia /S /MAXAGE:30

En la prueba dejó fuera un archivo de hace 400 días y otro de hace 40. En cambio, copió los del día.

Excluir carpetas y archivos con Robocopy

Las opciones /XD y /XF excluyen carpetas y archivos. Admiten varios nombres y comodines:

robocopy D:\Datos E:\Copia /E /XD temp vacia /XF *.tmp ~$* /XA:H

Esta orden deja fuera las carpetas temp y vacia, los temporales y los archivos de bloqueo de Office, que empiezan por ~$. Además, /XA:H excluye los archivos ocultos. En nuestra prueba copió 9 archivos y 5 carpetas, y dejó fuera todo lo demás.

Un detalle de la versión en español puede confundir. En la cabecera, la lista de archivos excluidos aparece como «Arch. ejecutables». Es una mala traducción: son los excluidos.

Mover archivos en lugar de copiarlos

Para vaciar una carpeta hacia otro disco se usa /MOV. Copia cada archivo y, después, lo borra del origen:

robocopy D:\Datos\contratos E:\Archivo\contratos /E /MOV

Con /MOV, las carpetas del origen se quedan, aunque vacías. En cambio, /MOVE borra también las carpetas. Lo comprobamos con las dos: tras /MOV quedaron las seis carpetas sin archivos, y tras /MOVE no quedó nada.

Saber cuánto ocupa una carpeta sin copiar nada

Este es un truco de administradores. Con /L, Robocopy no copia, pero sí cuenta:

robocopy D:\Datos NULL /L /S /NJH /BYTES /NFL /NDL /XJ /R:0 /W:0

El resumen da el número de carpetas, de archivos y de bytes. La carpeta «NULL» no llega a crearse. En nuestra prueba dio 59.322 bytes, el mismo valor que calculó PowerShell.

Reintentos: por qué Robocopy parece colgado

Cuando Robocopy no puede copiar un archivo, espera y lo intenta de nuevo. El problema está en los valores de fábrica. Aparecen en la cabecera de cada copia:

  Opciones: *.* /S /E /DCOPY:DA /COPY:DAT /R:1000000 /W:30 

Es decir, un millón de reintentos con 30 segundos de espera. La cuenta da 347 días por cada archivo bloqueado. Por eso, a veces una copia nocturna sigue «en marcha» a la mañana siguiente.

Lo reprodujimos con un archivo abierto por otro programa. Robocopy mostró «ERROR 32», porque otro proceso lo estaba usando. Con dos reintentos y un segundo de espera, tardó 2,1 segundos, saltó ese archivo y copió los otros once. En consecuencia, conviene fijar siempre los reintentos:

robocopy D:\Datos E:\Copia /E /R:2 /W:5

Además, hay que saber que Robocopy no copia los archivos que otro programa tiene abiertos en exclusiva. Simplemente los salta. La guía de Microsoft para sembrar una réplica de DFS lo da por hecho. Por eso pide revisar el registro en busca de archivos omitidos.

Códigos de salida de Robocopy

Casi todas las órdenes devuelven 0 cuando salen bien. Robocopy no. Su código de salida es una suma de avisos, y un 1 es una buena noticia:

CódigoQué significaCuándo lo vimos
0No copió nada, porque todo estaba igualEn la segunda pasada, sin cambios
1Copió archivos y no hubo erroresEn la primera copia
2Hay archivos de más en el destinoCon un archivo sobrante, y en el espejo que vació la copia
3Copió archivos y había otros de másEs la suma de 1 y 2
4Hay nombres que no coincidenCon un archivo que en el destino era una carpeta
8Hubo elementos que no pudo copiarCon las diez uniones del perfil
9Copió archivos, pero falló algunoCon el archivo abierto y con el acceso denegado
16Error grave: no copió nadaCon el origen inexistente y con las comillas mal puestas

La regla la da la documentación de Microsoft: cualquier valor igual o mayor que 8 indica al menos un error. Por tanto, en un guion no se pregunta si el código es 0. Se pregunta si llega a 8. En el Símbolo del sistema se escribe así:

robocopy D:\Datos E:\Copia /E /R:2 /W:5 /NP /LOG:E:\copia.log
if %ERRORLEVEL% GEQ 8 echo La copia tuvo errores: revise E:\copia.log

Y en PowerShell, así:

robocopy D:\Datos E:\Copia /E /R:2 /W:5 /NP /LOG:E:\copia.log
if ($LASTEXITCODE -ge 8) { Write-Output "La copia tuvo errores: revise E:\copia.log" }

Registros de Robocopy: /LOG, /TEE y /UNILOG

Una copia sin registro no se puede revisar después. Por eso, Microsoft recomienda crear siempre un archivo de registro. Estas son las opciones:

OpciónQué hace
/LOG:archivoEscribe el registro y borra el anterior
/LOG+:archivoAñade al final del registro que ya existe
/TEEEscribe en el archivo y también en la pantalla
/NPQuita las líneas de porcentaje de avance
/NFL y /NDLQuitan la lista de archivos y la de carpetas
/UNILOG:archivoEscribe el registro en Unicode

Dos mediciones ayudan a elegir. La primera es el tamaño. Al copiar 20.000 archivos, el registro con la lista completa ocupó 799.618 bytes. Con /NFL y /NDL ocupó 1.438. Sin embargo, la lista sirve para saber qué se copió cada día. Lo sensato es conservarla en las copias pequeñas y quitarla en las masivas.

La segunda medición es la codificación. Copiamos un archivo llamado «nómina año 2026». Con /LOG, el registro quedó en la página de códigos de la consola, la 850 en nuestro equipo. En consecuencia, un editor moderno muestra mal las tildes y la eñe. Con /UNILOG, en cambio, se leyó bien. Por eso, si sus carpetas tienen tildes, use esta forma:

robocopy D:\Datos E:\Copia /E /NP /TEE /UNILOG:E:\copia.log

Programar Robocopy con el Programador de tareas

Una copia que depende de la memoria de alguien acaba por no hacerse. Lo habitual es dejarla programada. Primero se guarda la orden en un archivo por lotes, por ejemplo D:\Scripts\copia-diaria.cmd:

@echo off
robocopy D:\Datos E:\Copia /E /XJ /R:2 /W:5 /NP /LOG+:E:\copia.log
if %ERRORLEVEL% GEQ 8 exit /b %ERRORLEVEL%
exit /b 0

Después se crea la tarea, que aquí se ejecuta cada día a las diez de la noche:

schtasks /Create /TN "Copia diaria" /TR "D:\Scripts\copia-diaria.cmd" /SC DAILY /ST 22:00

Estas otras tres órdenes la lanzan en el momento, muestran su último resultado y la eliminan:

schtasks /Run /TN "Copia diaria"
schtasks /Query /TN "Copia diaria" /V /FO LIST
schtasks /Delete /TN "Copia diaria" /F

Las dos últimas líneas del archivo por lotes tienen un motivo. Sin ellas, una copia correcta termina con el código 1. Entonces, el Programador de tareas muestra «Último resultado: 1», o 0x1, y parece una falla. Lo comprobamos con dos tareas iguales. La que devolvía el código de Robocopy marcó 1. La otra, con esas dos líneas, marcó 0. Ambas habían copiado los mismos 12 archivos.

Conviene recordar, además, dos límites de este método:

  • La tarea creada así solo corre cuando ese usuario tiene la sesión iniciada.
  • Si el disco de destino no está conectado, no se copia nada. En la prueba, Robocopy respondió «ERROR 3» y terminó con el código 16.
  • En un portátil, la tarea no arranca con batería. Nos pasó durante las pruebas: al desconectar el cargador, la tarea quedó «En cola» y no copió nada.

Si la tarea de Robocopy no arranca en un portátil

El tercer límite tiene arreglo. Una tarea creada con schtasks solo se inicia con el equipo enchufado. Además, si el equipo estaba apagado a la hora fijada, no recupera esa ejecución. Estas dos líneas de PowerShell cambian ambas cosas:

$ajustes = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
Set-ScheduledTask -TaskName "Copia diaria" -Settings $ajustes

Después del cambio, la misma tarea corrió con batería y copió todos los archivos.

Robocopy en Windows 11: copias más rápidas con /MT

Por defecto, Robocopy copia los archivos de uno en uno. Con /MT copia varios a la vez. Según la ayuda, usa 8 hilos si no se indica otro número, y admite entre 1 y 128.

Medimos el efecto con 20.000 archivos de 4 KB, repartidos en 200 carpetas. Copiamos tres veces con cada opción, dentro del mismo disco SSD. Esta es la mediana:

OpciónTiempoArchivos por segundoDiferencia
Sin /MT22,7 s881—
/MT:818,8 s1.06617 % menos
/MT:3217,5 s1.14323 % menos
/MT:12814,4 s1.38837 % menos

Por tanto, en Robocopy en Windows 11 los hilos ayudan con muchos archivos pequeños. Sin embargo, estas cifras son de un SSD local. En un disco mecánico o a través de la red, el resultado puede ser distinto, y no lo medimos. Lo prudente es probar con una carpeta de muestra antes de fijar el número.

Una orden razonable para una copia grande es esta:

robocopy D:\Datos E:\Copia /E /MT:32 /R:2 /W:5 /NP /NFL /NDL /LOG:E:\copia.log

Tres observaciones más salieron de la prueba:

  • Con /MT, la fila «Tiempo» del resumen suma el tiempo de todos los hilos. Nuestro registro decía 2 minutos y 37 segundos, y la copia había tardado 17,6 segundos.
  • La segunda pasada, sin cambios, tardó 0,58 segundos sin /MT y 0,13 con /MT:8. Comparar 20.000 archivos es casi inmediato.
  • Según la ayuda, /MT no se puede combinar con /IPG ni con /EFSRAW. Además, rinde más si la salida va a un registro con /LOG.

Otras opciones de Robocopy para archivos grandes

Para archivos grandes hay otras opciones. No las medimos, así que las citamos tal como las describe la ayuda:

OpciónPara qué sirve
/JCopia sin búfer, recomendada para archivos muy grandes
/ZModo reiniciable: si la copia se corta, retoma el archivo
/IPG:nPausa de n milisegundos entre paquetes, para no saturar líneas lentas
/COMPRESSPide compresión de red durante la transferencia, si es posible
/RH:hhmm-hhmmLimita las horas en que pueden empezar copias nuevas

Robocopy para migrar un servidor de archivos

Este apartado es para profesionales de TI. Migrar un servidor de archivos no es solo copiar datos. También hay que llevar los permisos, el propietario y las fechas. Si usted no administra servidores, puede pasar al siguiente.

Microsoft publica los parámetros que recomienda para sembrar una réplica de DFS. Sobre esa base, una orden de migración queda así:

robocopy "\\srv-viejo\Compartida" "\\srv-nuevo\Compartida" /E /B /COPYALL /DCOPY:DAT /R:6 /W:5 /MT:64 /XJ /NP /TEE /UNILOG:C:\Logs\migracion.log

No pudimos ejecutar esta orden completa, porque exige dos servidores y una consola de administrador. Sin embargo, sí probamos cada una de sus piezas por separado. Esto fue lo que encontramos.

Permisos, propietario y auditoría

La opción /SEC copia los permisos NTFS. Funcionó sin elevar la consola, sobre archivos propios. En cambio, /COPYALL y /B exigen derechos de administrador. Sin ellos, Robocopy no copió nada y terminó con el código 16. Estos fueron los dos mensajes:

  • Con /COPYALL: «no tiene el derecho de usuario para administrar auditorías».
  • Con /B: «no tiene los derechos de usuario de copias de seguridad y restauración de archivos».

Por tanto, una migración se lanza desde una consola abierta como administrador. Los grupos que reciben esos permisos suelen venir de Active Directory, así que el servidor nuevo debe estar en el mismo dominio.

Las fechas de las carpetas

De fábrica, Robocopy conserva la fecha de los archivos. Con las carpetas es distinto. En la prueba, una carpeta creada en marzo de 2024 llegó al destino con su fecha de modificación intacta. Sin embargo, su fecha de creación pasó a ser la del día de la copia. Con /DCOPY:DAT se conservaron las dos.

Rutas largas y uniones

Robocopy admite rutas de más de 260 caracteres sin ninguna opción. Copió sin problemas nuestro archivo, con una ruta de 550. En cambio, la opción /256 desactiva esa capacidad: con ella apareció «ERROR 206» y la copia quedó incompleta.

Las uniones son otro riesgo. Creamos una unión que apuntaba a su propia carpeta. Sin /XJ, Robocopy entró en ella 64 veces, una dentro de otra, hasta que falló. Con /XJ la omitió. Por eso, esa opción va en casi todas las órdenes de esta guía.

La carpeta de destino que desaparece

Si el origen es la raíz de una unidad, por ejemplo D:\, la carpeta de destino queda oculta y marcada como de sistema. No es un fallo: Microsoft lo advierte en su documentación. Lo reprodujimos: la carpeta quedó con los dos atributos.

Además, probamos tres opciones que suelen recomendarse para evitarlo: /A-:SH, /NODCOPY y /DCOPY:D. Ninguna lo evitó. Lo que sí funcionó fue corregir los atributos después de copiar:

attrib -s -h E:\Copia

El orden de una migración con Robocopy

  1. Haga una primera copia completa en horario de trabajo, sin detener a nadie.
  2. Repita la orden cada noche. Solo viajará lo que cambió.
  3. Elija una ventana de corte y pida a los usuarios que cierren sus archivos.
  4. Lance la última pasada y revise el registro: la columna ERROR debe quedar en cero.
  5. Compare una muestra de archivos por su huella, como explicamos a continuación.

Un aviso sobre el paso 2: la guía de Microsoft para DFS pide no usar /MIR ni /MOV en ese proceso. Si su caso es una réplica de DFS, siga esa guía al pie de la letra.

Lo que Robocopy no compara: el contenido

Robocopy decide qué copiar por el tamaño y por la fecha. No lee el contenido de los archivos. Hicimos una prueba para verlo. Cambiamos dos bytes de un archivo y le devolvimos su fecha original. Así, el origen y el destino tenían el mismo tamaño y la misma fecha, pero distinto contenido.

Robocopy lo clasificó como «modificado» y no lo copió. Tampoco lo copió con /IS, que incluye los archivos iguales. Solo lo copió con /IM, que incluye los modificados. Un programa normal cambia la fecha al guardar, de modo que el caso es raro. Sin embargo, existe.

Por eso, la prueba definitiva de una copia es comparar las huellas. En PowerShell se hace así:

Get-FileHash D:\Datos\leeme.txt, E:\Copia\leeme.txt -Algorithm SHA256

Si las dos huellas coinciden, los archivos son idénticos.

Robocopy no es una copia de seguridad

Robocopy copia muy bien. Sin embargo, una copia de seguridad es algo más que una segunda carpeta. Simulamos lo que hace un ransomware: sobrescribimos los 12 archivos del origen y les cambiamos la extensión. Después corrió el espejo de cada noche.

El resultado fue claro. Antes del espejo, la copia tenía 12 archivos sanos. Después, ninguno. Robocopy copió los 12 archivos cifrados y borró los 12 buenos, porque ya no estaban en el origen. Además, terminó con el código 3, es decir, sin errores.

A un espejo le faltan, por tanto, cuatro cosas que sí tiene un respaldo:

  • Versiones. Solo guarda el último estado. No puede volver a la semana pasada.
  • Archivos abiertos. Salta lo que otro programa tiene bloqueado, como una base de datos en uso.
  • Aislamiento. Si el disco de la copia está conectado, lo que daña el origen también lo alcanza.
  • Pruebas de restauración. Nadie comprueba que lo copiado se pueda abrir.

Si quiere profundizar, tenemos una guía para cada punto. Los tipos de backup explican cómo se guardan versiones sin llenar el disco. La regla 3-2-1 indica cuántas copias hacen falta y dónde. El respaldo inmutable trata el aislamiento. Y la guía de RTO y RPO ayuda a decidir cuánto se puede perder.

¿Dónde encaja entonces Robocopy? En tres sitios. Sirve para la copia a un disco externo que se desconecta al terminar. También sirve para la primera carga de datos hacia un NAS o un servidor nuevo. Por último, sirve para las migraciones. Para el respaldo diario de un equipo personal, Windows ofrece el Historial de archivos, que sí guarda versiones.

Errores frecuentes de Robocopy y su solución

Estos son los errores que provocamos durante las pruebas, con su causa:

MensajeCausaSolución
ERROR 2, no se encuentra el archivoLa carpeta de origen no existeRevise la ruta del origen
ERROR 3, no se encuentra la rutaLa unidad de destino no está conectadaConecte el disco o corrija la letra
ERROR 5, acceso denegadoFalta permiso de lecturaUse una consola de administrador y /B, o corrija el permiso
ERROR 32, archivo en usoOtro programa lo tiene abiertoCierre el programa o copie fuera de horario
ERROR 123, nombre incorrectoUna barra invertida antes de la comilla finalQuite la barra final de la ruta
ERROR 206, al crear la carpetaRuta larga con la opción /256Quite /256
Falta el derecho de auditoría/COPYALL sin ser administradorAbra la consola como administrador
La carpeta de destino no se veSe copió la raíz de una unidadEjecute attrib -s -h sobre la carpeta
Último resultado 0x1 en la tareaRobocopy copió bien y devolvió 1Añada las dos líneas finales del archivo por lotes

El error 5 lo reprodujimos con un archivo al que quitamos el permiso de lectura. Robocopy copió el resto, lo reintentó y terminó con el código 9. Además, todos estos mensajes quedan anotados en el registro. Si necesita cruzarlos con lo que anotó Windows, use el Visor de eventos.

Equivalentes de Robocopy en Linux y Mac

Robocopy solo existe en Windows. En Linux y en macOS, la herramienta equivalente es rsync. Estas equivalencias salen de su manual, y no las probamos para esta guía:

RobocopyrsyncQué hace
/E-aCopia todo el árbol
/MIR-a --deleteEspejo: también borra en el destino
/L--dry-runEnsayo, sin copiar
/XF y /XD--excludeExcluye por nombre
/LOG--log-fileRegistro en un archivo

Si administra servidores Linux, rsync aparece con sus ejemplos en nuestra guía de comandos avanzados de Linux.

Cómo lo aborda KHARONTE

En KHARONTE usamos la copia de archivos como un medio, no como un respaldo. Dentro de nuestra línea de continuidad operativa y respaldo diseñamos, implementamos y administramos Veeam Backup, con esquemas de respaldo local, en NAS y en nube. Además, el servicio incluye pruebas periódicas de restauración y un plan de recuperación con los tiempos acordados por escrito. El alcance completo está en nuestra página de backup para empresas.

Por otra parte, cada copia fallida y cada solicitud de restauración entra como caso en nuestra mesa de ayuda TI, con trazabilidad de principio a fin. Allí también atendemos al usuario que borró una carpeta por error, dentro del soporte técnico para empresas. Por último, si busca servicios administrados de TI que reúnan respaldo, monitoreo y soporte, conozca el resto de nuestros servicios de TI para empresas.

Preguntas frecuentes sobre Robocopy

¿Hay que descargar Robocopy?

No. Robocopy viene con Windows 11, Windows 10 y Windows Server. Basta abrir la Terminal y escribir robocopy /? para ver su ayuda.

¿Robocopy tiene interfaz gráfica?

Windows no incluye ninguna. Robocopy es una orden de consola. Sin embargo, una orden guardada en un archivo por lotes se ejecuta con doble clic, sin escribir nada.

¿Robocopy borra archivos?

Solo con cuatro opciones: /MIR y /PURGE borran en el destino, y /MOV y /MOVE borran en el origen. Sin ellas, Robocopy solo añade y actualiza.

¿Robocopy copia archivos abiertos?

No copia los que otro programa tiene bloqueados en exclusiva. Los reintenta y, al final, los salta. Por eso conviene copiar fuera del horario de trabajo.

¿Cómo sé si la copia de Robocopy terminó bien?

Mire dos cosas. Primero, la columna ERROR del resumen debe estar en cero. Segundo, el código de salida debe ser menor que 8.

¿Qué diferencia hay entre /E y /MIR en Robocopy?

Con /E, Robocopy copia y nunca borra. Con /MIR, además, elimina del destino lo que ya no está en el origen.

¿Los comandos de Robocopy sirven en Windows 10?

Sí. Microsoft documenta la misma orden para Windows 10, Windows 11 y Windows Server, desde la versión 2016 hasta la 2025.

Hablemos de la TI de su empresa

Cuéntenos qué necesita su operación y le enviamos una propuesta por escrito. Cada línea del portafolio se contrata por separado.

Compartir este artículo

Últimas entradas

Escríbanos ahora