
Robocopy, también conocido como ‘Robust File Copy’, se ha convertido en una de las herramientas más potentes y versátiles para la gestión avanzada de archivos en sistemas Windows. Aunque pueda parecer reservado para usuarios avanzados o administradores de sistemas, la realidad es que conociendo sus comandos esenciales cualquier usuario puede aprovechar sus ventajas para realizar copias de seguridad, sincronizaciones de carpetas o movimientos masivos de archivos con una eficiencia difícilmente igualable por cualquier otra utilidad nativa de Windows.
En este artículo explicamos cómo utilizar Robocopy en la línea de comandos, cuáles son sus parámetros imprescindibles y cuáles son los mejores trucos para optimizar el copiado. Si buscas exprimir al máximo las posibilidades que esta herramienta ofrece, sigue leyendo:
¿Qué es Robocopy y por qué destaca frente a otros comandos?
Robocopy es una utilidad de consola integrada en Windows desde versiones como Vista y posteriores, aunque su historia se remonta mucho antes. Está diseñada para cubrir las limitaciones de los clásicos COPY y XCOPY, permitiendo gestionar grandes volúmenes de datos y mantener atributos avanzados, seguridad (NTFS), fechas y permisos durante la transferencia.
A diferencia de otras herramientas, Robocopy tolera interrupciones, realiza múltiples intentos automáticos en caso de error y soporta copia en múltiples hilos para acelerar el proceso. Además, es ideal para realizar respaldos periódicos y sincronización entre discos o servidores en red.
Principales ventajas de usar Robocopy en Windows
- Resistencia frente a interrupciones: Si el proceso se corta por un fallo eléctrico o de red, Robocopy lo retoma sin problemas con la opción adecuada.
- Reintentos automáticos: Ante archivos en uso u otros errores temporales, puede lanzar varios intentos de acceso sin intervención del usuario.
- Copia multihilo: Gracias a la opción
/MT:n, permite usar varios hilos para copiar datos en paralelo, acelerando el traspaso incluso en miles de archivos. - Mantenimiento de atributos y permisos: Los permisos de archivo, propietarios, fechas y atributos se preservan durante todo el proceso.
- Indicadores de progreso y logs detallados: Informa en tiempo real del avance y puede generar registros exhaustivos para auditorías o validaciones.
Comandos esenciales y parámetros más utilizados en Robocopy
/E: Copia subdirectorios, incluso aquellos que estén vacíos./S: Copia subdirectorios, pero omite los que no contienen archivos./MIR: Realiza una copia en ‘espejo’, sincronizando el destino y eliminando archivos que ya no existen en el origen.*.ext: Filtra qué tipo de archivos copiar en función de su extensión, por ejemplo*.docsólo transfiere documentos Word./R:n: Define el número de reintentos ante un error (por defecto son 1 millón)./W:n: Establece los segundos de espera entre reintentos./MT:n: Especifica el número de hilos para la copia multihilo (entre 1 y 128, el valor predeterminado es 8)./MOVy/MOVE: Mueven archivos (o archivos y carpetas) eliminándolos del origen tras la copia./V: Muestra información detallada de cada archivo mientras se copia./L: Realiza una simulación de la copia, informando en pantalla sin efectuar cambios./FP: Muestra la ruta completa de cada archivo en el listado de resultados./NJHy/NJS: Ocultan el encabezado y el resumen final en la salida, útil en scripts./Z: Modo reiniciable. Si se interrumpe la operación, puede continuar desde el punto exacto de corte en una nueva ejecución./MAX:ny/MIN:n: Limita los archivos por tamaño, sólo copia mayores o menores a n bytes./MAXAGE:ny/MINAGE:n: Limita por antigüedad, útil para respaldos incrementales o diferenciales./RH:hhmm-hhmm: Restringe la copia a un rango horario concreto./LOG:ruta.txt: Guarda en un archivo todos los eventos del proceso de copiado.
Trucos imprescindibles y consejos de uso
- Utiliza comillas para directorios con espacios. Por ejemplo:
robocopy "C:\Mi Carpeta" D:\Backup, evitando así errores de interpretación en la línea de comandos. - Variables de entorno para rutas dinámicas. Emplea
%userprofile%para hacer scripts que funcionen en cualquier usuario, por ejemplo:robocopy %userprofile%\Documents D:\Backup\Documentos. - Log personalizado. Adjunta
/LOG:C:\path\copia.logpara generar un registro de la copia que podrás consultar después. - Simulación previa antes de copiar. Usa
/Lpara revisar qué se copiaría, sin modificar nada. - Automatización con archivos batch. Puedes crear ficheros .bat que acepten parámetros, por ejemplo
%1para la carpeta de origen. Así, solo arrastras directorios sobre el batch y lanzas la copia con todas las opciones configuradas.
Comprender los códigos de error de Robocopy
Esta herramienta devuelve diferentes códigos de estado una vez termina su ejecución. Saber interpretarlos es vital si automatizas backups mediante scripts o batch.
- 0: No se realizaron cambios (todos los archivos ya estaban copiados).
- 1: Copia realizada con éxito, sin errores reseñables.
- 4 o superior: Se han detectado errores. Consulta el log para detalles.
Ejemplo de utilización de estos códigos en un batch que además reproduce sonidos y muestra mensajes:
@echo off
robocopy %userprofile%\Documents D:\Backup\Documentos *.doc /s
if errorlevel 4 echo DISCREPANCIAS & goto bad
if errorlevel 1 echo Copia correcta & goto ok
if errorlevel 0 echo Sin cambios & goto okk
:bad
start C:\Windows\Media\chord.wav
msg * ERROR
pause
exit
:ok
start C:\Windows\Media\ding.wav
msg * Copia correcta
pause
exit
:okk
start C:\Windows\Media\notify.wav
msg * Sin cambios
pause
exit
Opciones avanzadas y ejemplos de automatización
- Backup entre servidores en red con autenticación previa:
@ECHO OFF
SETLOCAL
SET _fuente=\\Servidor1\Usuario
SET _destino=\\Servidor2\Backup_Usuario
SET _que=/COPYALL /B /SEC /MIR
SET _opciones=/R:0 /W:0 /LOG:log.txt /NFL /NDL
NET USE \\Servidor1\IPC$ /u:usuario contraseña
ROBOCOPY %_fuente% %_destino% %_que% %_opciones% - Subida de archivos a servidores remotos (por ejemplo, web o NAS):
SET src="D:\origen"
SET dest="\\servidor\backup$"
SET log="C:\logs\copia.log"
robocopy %src% %dest% /E /Z /SEC /MIR /R:1 /LOG:%log% - Ejecutar múltiples copias simultáneas en segundo plano:
@ECHO OFF
Start /Min "tarea1" robocopy \\ArchivoServidor1\C$\Database1 \\ArchivoServidorBackupA\c$\Backups
Start /Min "tarea2" robocopy \\ArchivoServidor2\C$\Database2 \\ArchivoServidorBackupB\c$\Backups - Limitar ancho de banda con /IPG:n: Esta opción retrasa en n milisegundos cada envío de bloque de 64KB, para no saturar la red.
Peculiaridades y buenas prácticas en el uso de Robocopy
- Evita confusiones colocando siempre el nombre de la ruta entre comillas cuando contiene espacios.
- Elimina la barra invertida extra al final del nombre si usas autocompletar con tabulador en la consola.
- Puedes lanzar Robocopy desde el cuadro de Inicio usando la opción
CMD /Kpara que la ventana permanezca abierta tras la operación. - Consulta la ayuda completa con
robocopy.exe /?redireccionada a un archivo para disponer de toda la referencia en tu escritorio.
Como has podido comprobar, Robocopy es una utilidad excepcionalmente potente para la gestión avanzada de archivos y respaldos en Windows. Dominar sus comandos esenciales y buenas prácticas te permitirá ahorrar tiempo, evitar errores y ganar seguridad en la protección de tus datos. Ya sea para automatizar copias de seguridad, sincronizar discos en red o simplemente para mover grandes volúmenes de archivos conservando sus atributos y permisos, Robocopy es la herramienta aliada de cualquier usuario que quiera profesionalizar su flujo de trabajo en Windows.
