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ón | xcopy | Robocopy |
|---|---|---|
| Subcarpetas | Sí, con /E | Sí, con /E |
| Copiar solo lo que cambió | Solo por fecha, con /D | Sí, por defecto |
| Reintentar cuando falla | No | Sí, con /R y /W |
| Rutas de más de 260 caracteres | Falló con «Memoria insuficiente» | Las copió sin opciones extra |
| Copia espejo, que borra lo que sobra | No | Sí, con /MIR |
| Permisos NTFS | Sí, con /O | Sí, con /SEC o /COPYALL |
| Varios archivos a la vez | No | Sí, con /MT |
| Registro en un archivo | No | Sí, 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:\Datoses la carpeta de origen yE:\Copiaes 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:
/ey/Ehacen lo mismo. - Antes de una copia importante, añada
/Lal 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:
| Columna | Qué cuenta |
|---|---|
| Total | Lo que encontró en el origen |
| Copiado | Lo que copió en esta pasada |
| Omitido | Lo que ya estaba igual en el destino |
| No coincidencia | Nombres que en un lado son archivo y en el otro, carpeta |
| ERROR | Lo que no pudo copiar tras agotar los reintentos |
| Extras | Lo 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ón | Qué hace |
|---|---|
/E | Copia las subcarpetas, también las vacías |
/S | Copia las subcarpetas, pero no las vacías |
/MIR | Deja el destino igual al origen: copia y también borra |
/L | Solo muestra lo que haría, sin copiar ni borrar |
/XO | No copia un archivo si el del origen es más antiguo |
/XF y /XD | Excluyen archivos y carpetas por nombre |
/MAXAGE:n | Solo copia lo modificado en los últimos n días |
/MOV y /MOVE | Mueven: borran del origen lo ya copiado |
/R:n y /W:n | Número de reintentos y segundos de espera entre ellos |
/MT:n | Copia varios archivos a la vez, con n hilos |
/LOG:archivo | Guarda el resultado en un archivo |
/NP | No muestra el porcentaje de avance |
/XJ | No 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ón | Qué hace |
|---|---|
/SEC | Copia también los permisos NTFS |
/COPYALL | Copia permisos, propietario y auditoría |
/DCOPY:DAT | Conserva también las fechas de las carpetas |
/B | Copia en modo de copia de seguridad, por encima de los permisos |
/Z | Modo reiniciable: retoma un archivo grande si se corta |
/J | Copia sin búfer, recomendada para archivos muy grandes |
/UNILOG:archivo | Guarda 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:
- Ensaye siempre con
/Ly lea las líneas marcadas como EXTRA. - Escriba las rutas completas y revíselas antes de pulsar Intro.
- 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:
| Etiqueta | Qué significa | Qué hace Robocopy |
|---|---|---|
| Nuevo arch | No existe en el destino | Lo copia |
| Más reciente | El del origen es más nuevo | Lo copia |
| Más antiguo | El del origen es más viejo | También lo copia, salvo con /XO |
| igual | Mismo tamaño y misma fecha | Lo omite |
| *Archivo EXTRA | Solo está en el destino | Lo 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ódigo | Qué significa | Cuándo lo vimos |
|---|---|---|
| 0 | No copió nada, porque todo estaba igual | En la segunda pasada, sin cambios |
| 1 | Copió archivos y no hubo errores | En la primera copia |
| 2 | Hay archivos de más en el destino | Con un archivo sobrante, y en el espejo que vació la copia |
| 3 | Copió archivos y había otros de más | Es la suma de 1 y 2 |
| 4 | Hay nombres que no coinciden | Con un archivo que en el destino era una carpeta |
| 8 | Hubo elementos que no pudo copiar | Con las diez uniones del perfil |
| 9 | Copió archivos, pero falló alguno | Con el archivo abierto y con el acceso denegado |
| 16 | Error grave: no copió nada | Con 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ón | Qué hace |
|---|---|
/LOG:archivo | Escribe el registro y borra el anterior |
/LOG+:archivo | Añade al final del registro que ya existe |
/TEE | Escribe en el archivo y también en la pantalla |
/NP | Quita las líneas de porcentaje de avance |
/NFL y /NDL | Quitan la lista de archivos y la de carpetas |
/UNILOG:archivo | Escribe 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ón | Tiempo | Archivos por segundo | Diferencia |
|---|---|---|---|
Sin /MT | 22,7 s | 881 | — |
/MT:8 | 18,8 s | 1.066 | 17 % menos |
/MT:32 | 17,5 s | 1.143 | 23 % menos |
/MT:128 | 14,4 s | 1.388 | 37 % 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
/MTy 0,13 con/MT:8. Comparar 20.000 archivos es casi inmediato. - Según la ayuda,
/MTno se puede combinar con/IPGni 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ón | Para qué sirve |
|---|---|
/J | Copia sin búfer, recomendada para archivos muy grandes |
/Z | Modo reiniciable: si la copia se corta, retoma el archivo |
/IPG:n | Pausa de n milisegundos entre paquetes, para no saturar líneas lentas |
/COMPRESS | Pide compresión de red durante la transferencia, si es posible |
/RH:hhmm-hhmm | Limita 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
- Haga una primera copia completa en horario de trabajo, sin detener a nadie.
- Repita la orden cada noche. Solo viajará lo que cambió.
- Elija una ventana de corte y pida a los usuarios que cierren sus archivos.
- Lance la última pasada y revise el registro: la columna ERROR debe quedar en cero.
- 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:
| Mensaje | Causa | Solución |
|---|---|---|
| ERROR 2, no se encuentra el archivo | La carpeta de origen no existe | Revise la ruta del origen |
| ERROR 3, no se encuentra la ruta | La unidad de destino no está conectada | Conecte el disco o corrija la letra |
| ERROR 5, acceso denegado | Falta permiso de lectura | Use una consola de administrador y /B, o corrija el permiso |
| ERROR 32, archivo en uso | Otro programa lo tiene abierto | Cierre el programa o copie fuera de horario |
| ERROR 123, nombre incorrecto | Una barra invertida antes de la comilla final | Quite la barra final de la ruta |
| ERROR 206, al crear la carpeta | Ruta larga con la opción /256 | Quite /256 |
| Falta el derecho de auditoría | /COPYALL sin ser administrador | Abra la consola como administrador |
| La carpeta de destino no se ve | Se copió la raíz de una unidad | Ejecute attrib -s -h sobre la carpeta |
Último resultado 0x1 en la tarea | Robocopy copió bien y devolvió 1 | Añ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:
| Robocopy | rsync | Qué hace |
|---|---|---|
/E | -a | Copia todo el árbol |
/MIR | -a --delete | Espejo: también borra en el destino |
/L | --dry-run | Ensayo, sin copiar |
/XF y /XD | --exclude | Excluye por nombre |
/LOG | --log-file | Registro 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.




