Este tutorial describe cómo utilizar robocopy para copiar todos los archivos y carpetas de un origen a un destino. Con el mismo comando, puede ejecutarlo de nuevo más tarde, y sólo copiará los archivos que hayan cambiado en el destino. Además, si los archivos fueron eliminados del origen, también los eliminará del destino. Este comando también mantendrá todos los permisos NTFS y los atributos de los archivos.
Un escenario de uso típico para este comando es la copia de un recurso compartido de archivos de gran tamaño. Puede ejecutar el comando una vez para copiar la cantidad masiva de datos, y luego puede ejecutarlo de nuevo más tarde, y sólo copiará los archivos modificados, lo que hará que sea mucho más rápido.
robocopy C:\source C:\dest /TEE /LOG+:c:\robolog.txt /MIR /copyall /zb /w:1 /r:2 /xo
Primero, te mostraré ejemplos de este comando en acción, y luego desglosaré el comando para mostrarte lo que hace cada parte. (Asegúrese de lanzar el símbolo del sistema como administrador)
En la imagen de abajo, se ve un directorio de origen y de destino. La fuente tiene varias carpetas con datos en ellos. El destino está vacío.
Después de ejecutar el comando robocopy de arriba, mientras que el uso de C:\ITswapshop.com\Nfuente como la carpeta de origen, y C:\ITswapshop.com\Ndestino como la carpeta de destino, se puede ver la carpeta de destino ahora se ve idéntica a la fuente:
Ahora voy a eliminar un archivo de la fuente, y luego añadir un archivo diferente a la fuente. Observa lo que ocurre cuando vuelvo a ejecutar el comando:
El archivo que se eliminó del origen, también se elimina del destino. Además, el archivo recién añadido al origen se copia en el destino. Todos los archivos que no han sido modificados se saltan.
Ahora, vamos a desglosar el comando para que podamos saber exactamente lo que hace cada interruptor:
/TEE – Esto mostrará la salida del comando en la ventana de la consola, y lo escribirá en un registro para su posterior revisión.
/LOG+c:\robolog.txt – Esto le dice al comando dónde escribir los registros. El signo + le dice que añada el archivo de registro, en lugar de sobrescribirlo.
/MIR – Esto copiará todos los archivos y subcarpetas, y eliminará los archivos/carpetas del destino, si ya no existen en el origen.
/COPYALL – Esto copiará todos los permisos y atributos NTFS (permisos de seguridad, marcas de tiempo, información del propietario…)
/ZB – Esto utiliza el modo reiniciable al copiar archivos. Si un archivo está en uso, se reintentará después de una cantidad de tiempo establecida. Si se deniega el acceso, intentará copiar en modo de copia de seguridad.
/W:1 – Especifica que se espere 1 segundo entre los reintentos al copiar archivos.
/R:2 – Especifica el número de reintentos en las copias fallidas.
/XO – Excluye los archivos/carpetas más antiguos si el archivo/carpeta de destino existe y es de la misma fecha
.