Saltar al contenido
GEEKnodes

Windows

Robocopy: copiar y sincronizar carpetas grandes en Windows sin errores

Guía de Robocopy en Windows: /E, /MIR y su peligro, /Z, /R y /W, /MT, exclusiones, logs y códigos de salida para copiar carpetas grandes sin fallos.

Copiar 200 GB con el Explorador suele acabar igual: un archivo con la ruta demasiado larga, un error a mitad y la duda de qué se ha copiado y qué no. Robocopy viene incluido en Windows, reintenta solo, deja un registro de todo y puede retomar la copia donde se quedó. En esta guía verás las opciones que de verdad importan y la que puede borrarte datos si la usas mal.

En resumen

  • robocopy origen destino /E copia todo, incluidas subcarpetas vacías, y en una segunda pasada solo copia lo que ha cambiado.
  • /MIR deja el destino idéntico al origen, y eso incluye borrar lo que no exista en el origen.
  • Un código de salida de 1 no es un error: solo de 8 en adelante hay fallos.

Por qué Robocopy y no el Explorador

Explorador de archivosRobocopy
Si un archivo fallaSe para y preguntaReintenta y sigue con el resto
Segunda copia de la misma carpetaPregunta si reemplazarSalta lo que ya está igual
Rutas muy largasPuede fallarLas admite
Registro de lo copiadoNoSí, con /LOG
Copia en paraleloNoSí, con /MT
Retomar tras un corte de redNoSí, con /Z
AutomatizableNoSí, en scripts y tareas programadas

El Explorador va bien para unos pocos archivos. Para copias grandes, discos externos, NAS o copias de seguridad periódicas, Robocopy es más fiable y te dice exactamente qué ha pasado.

Sintaxis básica

Abre Terminal, PowerShell o el Símbolo del sistema. La estructura es:

robocopy "C:\Origen" "D:\Destino" [archivos] [opciones]
Comparación: sin opciones solo se copia la raíz, con /S las subcarpetas sin las vacías y con /E todo el árbol.
Sin /E, Robocopy solo copia los archivos de la carpeta raíz.

Sin opciones, Robocopy solo copia los archivos de la carpeta raíz, sin subcarpetas. Es el primer susto de mucha gente: lanza la orden, termina enseguida y faltan casi todos los datos.

Para copiar el árbol completo:

robocopy "C:\Usuarios\Ana\Fotos" "E:\Copia\Fotos" /E
  • /S copia subcarpetas, pero no las vacías.
  • /E copia subcarpetas incluidas las vacías. Es la que normalmente quieres.

Si repites el mismo comando, Robocopy compara tamaño y fecha y solo copia los archivos nuevos o modificados. Una segunda pasada sobre una carpeta enorme tarda segundos.

/MIR: sincronizar, con cuidado

Origen con A, B y C; destino con A, B y D. Tras /MIR el destino tiene A, B y C y D se borra.
/MIR copia lo nuevo y borra del destino lo que no está en el origen.
robocopy "C:\Proyectos" "E:\Copia\Proyectos" /MIR

/MIR equivale a /E más /PURGE: copia todo y además borra del destino cualquier archivo o carpeta que no exista en el origen. Es perfecto para mantener una réplica exacta, y peligroso por tres motivos:

  1. Origen y destino al revés. Si los cambias de orden, Robocopy «sincroniza» tu carpeta buena con la copia vieja y borra lo que es más reciente.
  2. Origen vacío o equivocado. Si el origen es un disco que no se ha montado o una carpeta mal escrita que está vacía, el destino queda vacío también.
  3. Destino con otros datos. Si apuntas /MIR a la raíz de un disco que contiene otras cosas, todo lo que no esté en el origen desaparece.

Lo borrado por Robocopy no pasa por la Papelera de reciclaje.

La protección es sencilla: ejecuta primero con /L. Lista lo que haría, sin copiar ni borrar nada.

robocopy "C:\Proyectos" "E:\Copia\Proyectos" /MIR /L

En la salida, las líneas marcadas como *EXTRA File o *EXTRA Dir son las que se borrarían. Si ves alguna que no esperas, para.

Opciones para copias grandes y redes inestables

/Z: modo reiniciable

Con /Z, si la copia de un archivo grande se corta, Robocopy la continúa desde donde iba en lugar de empezar de cero. Es útil en red o con archivos de muchos GB. A cambio, en discos locales rápidos va algo más lenta, así que no lo pongas por costumbre en todas las copias.

/R y /W: reintentos

Por defecto Robocopy reintenta un millón de veces cada archivo que falla, esperando 30 segundos entre intentos. Con un archivo bloqueado, eso significa que la copia se queda colgada prácticamente para siempre. Ponle valores razonables:

robocopy "C:\Datos" "\\NAS\Copias\Datos" /E /R:3 /W:5

Tres reintentos con cinco segundos de espera bastan para cortes breves de red. Lo que siga fallando queda anotado en el registro.

/MT: copia multihilo

/MT copia varios archivos a la vez. Sin número usa 8 hilos; admite de 1 a 128.

robocopy "C:\Datos" "E:\Datos" /E /MT:16

Donde más se nota es con muchos archivos pequeños, sobre todo hacia un NAS. Con pocos archivos enormes en un disco mecánico apenas mejora, e incluso puede ir peor porque el disco salta de un archivo a otro. Prueba con 8 o 16 antes de subir más.

Excluir carpetas y archivos

/XD excluye carpetas y /XF excluye archivos. Aceptan varios valores y comodines:

robocopy "C:\Proyectos" "E:\Copia" /E /XD node_modules .git "Temp" /XF *.tmp *.log Thumbs.db

Las exclusiones por nombre se aplican a cualquier nivel. /XD node_modules excluye todas las carpetas con ese nombre, no solo la de la raíz. Si quieres excluir una concreta, pon su ruta completa.

Un detalle importante con /MIR: lo excluido no se borra del destino por estar excluido, porque Robocopy no lo tiene en cuenta en ninguna dirección.

Registro: saber qué ha pasado

robocopy "C:\Datos" "E:\Datos" /E /R:3 /W:5 /LOG:"C:\Logs\copia.txt" /NP /TEE
  • /LOG:archivo guarda la salida en un archivo y lo sobrescribe cada vez. /LOG+:archivo añade al final.
  • /NP quita el porcentaje de progreso. Sin esto, el log se llena de líneas de porcentaje ilegibles.
  • /TEE muestra la salida también en pantalla.

Al final del registro hay una tabla resumen con Copiados, Omitidos, Error y Extras para carpetas, archivos y bytes. Mira primero la columna de errores; si no es cero, busca la palabra ERROR en el archivo para ver cuáles fallaron y por qué.

Códigos de salida

Robocopy devuelve un número que es una suma de indicadores. Esto confunde a quien lo usa en scripts, porque casi todos los programas devuelven 0 cuando todo va bien y Robocopy no.

Indicadores 1, 2, 4, 8 y 16 que se suman; de 0 a 7 la copia es correcta y de 8 en adelante hay fallos.
Los códigos se suman: de 0 a 7 bien, 8 o más algo ha fallado.
CódigoSignificado
0No había nada que copiar: origen y destino ya coinciden
1Se copiaron archivos correctamente
2Hay archivos o carpetas extra en el destino
4Hay archivos que no coinciden; revisa el registro
8Algunos archivos o carpetas no se pudieron copiar
16Error grave: no se copió nada (ruta inexistente, sin permisos…)

Los valores se combinan: un 3 es 1 + 2 (copió archivos y hay extras en el destino). La regla práctica es: de 0 a 7, bien; 8 o más, algo ha fallado.

En un archivo .bat:

robocopy "C:\Datos" "E:\Datos" /E /R:3 /W:5 /LOG:"C:\Logs\copia.txt" /NP
if %ERRORLEVEL% GEQ 8 (
    echo La copia ha fallado. Revisa el registro.
    exit /b 1
)
exit /b 0

En PowerShell, el código está en $LASTEXITCODE:

robocopy "C:\Datos" "E:\Datos" /E /R:3 /W:5 /NP
if ($LASTEXITCODE -ge 8) { Write-Error "Robocopy ha fallado ($LASTEXITCODE)" }

Plantilla para una copia de seguridad

Para una réplica de una carpeta en un disco externo o NAS, esta combinación cubre casi todos los casos:

robocopy "C:\Usuarios\Ana\Documentos" "E:\Copia\Documentos" /MIR /Z /R:3 /W:5 /MT:8 /XF *.tmp /LOG:"C:\Logs\copia-documentos.txt" /NP

Ejecútala primero con /L añadido y revisa la lista. Cuando funcione, puedes programarla con el Programador de tareas para que se lance sola cada noche.

Errores habituales

  • Barra final dentro de comillas. "D:\Destino\" hace que \" se interprete como una comilla escapada y Robocopy recibe una ruta rota. Escribe "D:\Destino" sin barra final, o "D:\" como D:\ sin comillas.
  • Olvidar /E y copiar solo la carpeta raíz.
  • Dejar /R y /W por defecto y ver la copia «colgada» durante horas en un archivo bloqueado.
  • Usar /MIR sin probar con /L, o con origen y destino invertidos.
  • Tratar el código 1 como error en un script o en el Programador de tareas, que lo marcará como fallo aunque todo esté bien.
  • Archivos que se copian una y otra vez en un disco FAT32 o exFAT o en algunos NAS. Esos sistemas guardan la hora con menos precisión y Robocopy cree que los archivos han cambiado. Añade /FFT para que acepte una diferencia de 2 segundos.
  • Archivos en uso como el .pst de Outlook abierto o bases de datos activas. Robocopy no puede copiarlos mientras otro programa los bloquea; ciérralo antes.

Relacionados

Preferencias de accesibilidad

Perfiles rápidos

Texto y lectura

Tamaño del texto
Por defecto
Altura de línea
Por defecto
Espaciado entre letras
Por defecto
Espaciado entre palabras
Por defecto

Color

Movimiento y orientación

Cursor