Robocopy en Windows: cómo copiar y sincronizar archivos de forma segura desde PowerShell

Por ChatiEZGPT

Copiar una carpeta con el Explorador de Windows es suficiente para muchas tareas cotidianas. Pero cuando tenemos que mover cientos de gigabytes, miles de archivos, copiar un disco a otro, trabajar con un NAS o repetir periódicamente la misma copia, Windows incluye una herramienta mucho más potente: Robocopy.

Robocopy viene incluido en Windows y puede utilizarse directamente desde PowerShell, Windows Terminal o CMD. No hay que instalar ningún programa adicional y, aunque a primera vista pueda parecer una herramienta reservada a usuarios avanzados, con unos pocos comandos resulta sorprendentemente fácil de utilizar.

En esta guía vamos a aprender qué es Robocopy, cuándo merece la pena utilizarlo, qué opciones son realmente útiles, qué diferencias hay frente a copiar archivos de forma convencional y, sobre todo, qué parámetros debemos utilizar con cuidado para no borrar información accidentalmente.

¿Qué es Robocopy?

Robocopy significa Robust File Copy y es una herramienta de copia de archivos incluida en Windows. Está pensada especialmente para transferencias grandes o complejas en las que necesitamos algo más fiable y configurable que copiar y pegar.

Entre otras cosas, permite:

  • copiar árboles completos de carpetas,
  • reanudar determinadas transferencias interrumpidas,
  • evitar copiar otra vez archivos que ya están actualizados,
  • crear registros de lo que se ha copiado,
  • excluir archivos y directorios,
  • copiar utilizando varios hilos simultáneamente,
  • sincronizar dos ubicaciones,
  • trabajar con discos externos, servidores y unidades de red.
Ejemplo de Robocopy ejecutándose desde PowerShell

¿Cuándo tiene sentido usar Robocopy?

Para copiar unas fotografías o cuatro documentos, utilizar Robocopy probablemente sea innecesario. El Explorador de Windows resulta mucho más cómodo.

Sin embargo, empieza a tener mucho sentido cuando hablamos de:

  • copiar cientos de gigabytes de información,
  • trasladar los datos de un ordenador antiguo a uno nuevo,
  • copiar el contenido de un disco que vamos a sustituir,
  • hacer una copia periódica de documentos o fotografías,
  • copiar información hacia un NAS o servidor,
  • trabajar con carpetas que contienen decenas de miles de archivos,
  • repetir regularmente la misma tarea de copia.

Una de sus ventajas más importantes es que, cuando ejecutamos nuevamente el mismo comando, Robocopy puede comparar origen y destino y evitar volver a transferir archivos que no han cambiado.

Cómo utilizar Robocopy desde PowerShell

Podemos abrir PowerShell pulsando con el botón derecho sobre el menú Inicio y seleccionando Terminal o PowerShell, dependiendo de la versión de Windows.

El comando más básico tiene esta estructura:

robocopy "C:\Origen" "D:\Destino"

El primer directorio es la carpeta que queremos copiar y el segundo es donde queremos colocar los archivos.

Las comillas son especialmente importantes cuando una ruta contiene espacios. Por ejemplo:

robocopy "C:\Mis Documentos" "E:\Copia de seguridad"

Copiar también todas las subcarpetas

Uno de los primeros parámetros que conviene conocer es /E.

robocopy "C:\Origen" "D:\Destino" /E

El parámetro /E indica a Robocopy que copie también todas las subcarpetas, incluidas aquellas que están vacías.

Existe también /S, que copia subcarpetas pero ignora las que están vacías.

Un comando práctico para copias grandes

Para una copia importante a un disco externo podríamos utilizar algo como:

robocopy "C:\Datos" "E:\Backup\Datos" /E /Z /R:3 /W:5 /MT:8

Vamos a ver qué significa:

/E — copia todas las carpetas y subcarpetas.
/Z — utiliza modo reiniciable, útil para copias largas o a través de red.
/R:3 — intenta copiar de nuevo un archivo un máximo de tres veces si encuentra un error.
/W:5 — espera cinco segundos entre reintentos.
/MT:8 — utiliza ocho hilos simultáneos para realizar la copia.

Utilizar más hilos no significa necesariamente obtener siempre más velocidad. En SSD modernos puede resultar muy útil, pero en discos mecánicos, especialmente si hay muchísimos archivos pequeños, una cifra exageradamente alta puede incluso resultar contraproducente.

/MIR: muy útil, pero también muy peligroso si no sabes qué hace

Probablemente el parámetro de Robocopy que más cuidado requiere sea:

/MIR

Su nombre viene de mirror. Su objetivo es conseguir que el directorio de destino sea un espejo del origen.

Atención: si un archivo existe en el destino pero ya no existe en el origen, /MIR puede eliminarlo del destino. No debe utilizarse pensando simplemente que significa "copiarlo todo".

Por ejemplo:

robocopy "C:\Fotos" "E:\Fotos" /MIR

hará que E:\Fotos termine reflejando el contenido de C:\Fotos, incluidos los borrados.

Advertencia sobre el uso de MIR y L en Robocopy

Antes de usar /MIR, prueba con /L

Robocopy tiene una opción especialmente útil para comprobar qué va a hacer antes de tocar ningún archivo:

/L

Este parámetro realiza una simulación. Robocopy muestra las operaciones que realizaría, pero no copia ni elimina archivos.

Por ejemplo:

robocopy "C:\Fotos" "E:\Fotos" /MIR /L

Es una excelente costumbre utilizar /L antes de ejecutar por primera vez una sincronización con /MIR.

¿Hay que abrir PowerShell como administrador?

Para la mayoría de copias domésticas, no.

Si estás copiando:

  • tus documentos,
  • fotografías,
  • vídeos,
  • carpetas personales,
  • archivos hacia un USB o disco externo donde tienes permisos,

puedes utilizar PowerShell normalmente.

Ejecutarlo como administrador puede ser necesario si necesitas acceder a carpetas protegidas, datos de otros usuarios o determinadas ubicaciones con permisos especiales.

Recomendación: no abras PowerShell como administrador por costumbre. Hazlo solamente cuando la operación que quieres realizar realmente lo requiera.

Crear un archivo de registro

Si estamos copiando muchos datos, puede resultar útil guardar todo lo que ha ocurrido en un archivo.

robocopy "C:\Datos" "E:\Backup" /E /LOG:"C:\copia.txt"

El archivo copia.txt guardará la información de la operación.

Si queremos ver simultáneamente la información en pantalla y guardarla en el log:

robocopy "C:\Datos" "E:\Backup" /E /LOG:"C:\copia.txt" /TEE

Excluir archivos o carpetas

Robocopy permite evitar que determinados directorios entren en la copia.

Por ejemplo:

robocopy "C:\Datos" "E:\Backup" /E /XD "C:\Datos\Temporal"

/XD excluye directorios.

También podemos excluir tipos de archivo:

robocopy "C:\Datos" "E:\Backup" /E /XF *.tmp

En este ejemplo no se copiarán los archivos con extensión .tmp.

Robocopy también funciona con un NAS o servidor

Una de las situaciones en las que Robocopy resulta especialmente útil es al copiar información por red.

Podemos utilizar directamente una ruta de red:

robocopy "C:\Fotos" "\\NAS\Backups\Fotos" /E /Z /R:3 /W:5

El modo reiniciable /Z es especialmente interesante cuando una transferencia puede sufrir pequeños cortes de red.

¿Qué significa "Skipped"?

Al terminar, Robocopy presenta un resumen con datos como:

  • Total,
  • Copied,
  • Skipped,
  • Mismatch,
  • FAILED,
  • Extras.

Es habitual ver muchos archivos marcados como Skipped en una segunda ejecución y pensar que algo ha ido mal.

Normalmente significa exactamente lo contrario: Robocopy ha comprobado que esos archivos ya estaban en el destino y no era necesario volver a copiarlos.

Robocopy frente al Explorador de Windows

Característica Explorador Robocopy
Facilidad Muy alta Requiere conocer comandos
Grandes cantidades Correcto Muy apropiado
Repetir la misma tarea Manual Muy sencillo
Logs Muy limitados Sí
Automatización Limitada Excelente

Robocopy frente a Copy-Item de PowerShell

PowerShell tiene su propio comando para copiar:

Copy-Item -Path "C:\Datos" -Destination "D:\Backup" -Recurse

Copy-Item es excelente cuando estamos escribiendo scripts PowerShell y necesitamos mover o copiar elementos como parte de un proceso mayor.

Sin embargo, para grandes transferencias, reintentos, logs, modo reiniciable, comparación de estructuras o copias multihilo, Robocopy suele resultar mucho más completo.

¿Y XCOPY?

XCOPY fue durante muchos años una herramienta muy popular de Windows, pero actualmente Robocopy suele ser una alternativa más interesante para operaciones complejas.

Robocopy ofrece más control sobre reintentos, sincronización, registros, comparación y rendimiento, por lo que para aprender hoy una herramienta de copia avanzada tiene más sentido empezar directamente por Robocopy.

¿Robocopy sirve para clonar Windows?

No.

Robocopy trabaja principalmente con archivos y carpetas. Copiar todos los archivos de C:\ a otro SSD no convierte automáticamente ese disco en una copia arrancable de Windows.

Para clonar un sistema completo hacen falta herramientas pensadas específicamente para trabajar con particiones, información de arranque y estructuras del disco.

¿Robocopy es una copia de seguridad?

Puede utilizarse como parte de una estrategia de backup, pero hay que entender sus limitaciones.

Por ejemplo:

robocopy "C:\Documentos" "E:\Backup\Documentos" /E

puede ser una forma sencilla de mantener una copia en otro disco.

Sin embargo, una sincronización no sustituye necesariamente a un sistema de copias con versiones. Si un archivo se corrompe, se cifra por ransomware o lo borramos accidentalmente y después sincronizamos, podemos terminar propagando el problema al destino.

Sincronización y copia de seguridad no son exactamente lo mismo. Para información importante conviene disponer de más de una copia y, si es posible, de versiones anteriores.

¿Y si el disco está fallando?

Aquí hay que tener especial cuidado. Robocopy es una herramienta excelente para mover información desde discos que funcionan correctamente, pero no es una herramienta profesional de recuperación de datos.

Si un disco:

  • desaparece de Windows,
  • hace ruidos extraños,
  • da errores constantes de lectura,
  • se desconecta durante las copias,
  • o contiene información especialmente importante,

insistir repetidamente en realizar copias puede no ser la mejor estrategia. Dependiendo del fallo puede ser preferible evaluar primero el estado del dispositivo y decidir cómo extraer la información con el menor riesgo posible.

¿Necesitas copiar o recuperar los datos de un disco?

Si vas a cambiar de ordenador, sustituir un SSD o tienes un disco que empieza a dar problemas, podemos revisar el equipo y ayudarte con la copia o migración de tus datos. Solicita presupuesto sin compromiso.

Contactar con Ezplaystore

Cinco comandos de Robocopy que merece la pena guardar

Copia sencilla con subcarpetas

robocopy "C:\Origen" "D:\Destino" /E

Copia grande y resistente a pequeños errores

robocopy "C:\Origen" "D:\Destino" /E /Z /R:3 /W:5 /MT:8

Copia con registro

robocopy "C:\Origen" "D:\Destino" /E /Z /R:3 /W:5 /LOG:"C:\copia.txt" /TEE

Simular antes de ejecutar

robocopy "C:\Origen" "D:\Destino" /E /L

Espejar dos carpetas

robocopy "C:\Origen" "D:\Destino" /MIR

Recuerda: antes de utilizar este último comando, es recomendable probarlo primero añadiendo /L.

Errores habituales al empezar con Robocopy

  • intercambiar accidentalmente origen y destino,
  • utilizar /MIR pensando que simplemente copia todos los archivos,
  • ejecutar siempre como administrador sin necesitarlo,
  • olvidar las comillas en rutas que contienen espacios,
  • intentar utilizar Robocopy para clonar Windows,
  • no comprobar cuánto espacio libre queda en el destino,
  • confundir una sincronización con un sistema completo de backup.

Conclusión

Robocopy puede parecer una herramienta complicada cuando vemos por primera vez todas sus opciones, pero para la mayoría de tareas basta con aprender cuatro o cinco parámetros.

Para copiar una carpeta pequeña, el Explorador de Windows sigue siendo lo más cómodo. Pero cuando hablamos de cientos de gigabytes, miles de archivos, discos externos, servidores, NAS o tareas que queremos repetir periódicamente, Robocopy es una de las herramientas más potentes que Windows incluye de serie.

Y sobre todo, recuerda una regla: si vas a utilizar parámetros capaces de eliminar información como /MIR, revisa siempre cuidadosamente el origen y el destino y utiliza primero /L para comprobar qué va a ocurrir.