Windows 10 cuenta con múltiples herramientas especiales para controlar el comportamiento y gestión de los datos que usamos dentro de sí. Aunque Windows PowerShell ha sido diseñado para ser el futuro a nivel de gestión por consola para Windows, aún tenemos una serie de comandos útiles que son de gran ayuda para llevar a cabo tareas dentro del sistema bien sea a nivel de datos o a nivel de configuración. Este es el caso de Robocopy (Robust File Copy), un comando diseñado para copiar ágilmente y de forma eficiente archivos o carpetas tanto a nivel local o en red en ambientes Windows.
- Capaz de soportar las interrupciones en la copia de archivos ya sea por cortes de energía o en la conexión de red.
- Realiza reintentos automáticos si no se puede acceder a un archivo determinado.
- Permite copiar grandes cantidades de archivos, algo que no es posible con XCOPY.
- Cuenta con un indicador de progreso.
- Permite realizar copiado multihilo.
- Admite la copia selectiva de objetos.
- Copia toda la información de un elemento como propiedades, atributos, datos del propietario, y además mantiene inalterables los permisos del archivo.
A continuación, vamos a ver el uso que podemos darle al comando Robocopy y así veremos una guía de robocopy ejemplos.
1. Robocopy CMD Windows 10
Para iniciar a usar Robocopy podemos acceder al símbolo del sistema o a Windows PowerShell como administradores y en la consola desplegada ejecutamos la línea Robocopy, el resultado obtenido será el siguiente. Allí tenemos la descripción de la herramienta y las múltiples formas de uso.
2. Robocopy comandos
Existen una serie de opciones básicas al usar Robocopy, estas son:
- <Origen>: Permite indicar la ruta de acceso al directorio de origen.
- <Destino>: Indica la ruta de acceso al directorio de destino.
- <Archivo>: Permite indicar el archivo o archivos que serán copiados. Podremos utilizar caracteres comodín (* o ?), si deseamos. Si no se especifica el parámetro de archivo , *. * se utiliza como valor predeterminado.
- <Opciones>: Permite especificar las opciones que se puede usar con el comando robocopy.
- /s: Permite copiar subdirectorios excluyendo directorios vacíos.
- /e: Admite copiar subdirectorios incluyendo directorios vacíos.
- /Lev: <N>: Copia sólo los N niveles superiores del árbol del directorio de origen.
- /z: Permite copiar los archivos en modo de reinicio.
- /b: Copia los archivos en modo de copia de seguridad.
- /ZB: Esta opción usa el modo de reinicio. Si se deniega el acceso, esta opción utiliza el modo de copia de seguridad.
- /EFSRAW: Copia todos los archivos cifrados en modo EFS RAW.
- /copy:<CopyFlags>: Permite especificar las propiedades de archivo que se copiarán. Los siguientes son los valores válidos para esta opción:
- A de Atributos
- T de Marcas de tiempo
- S de Lista de control de acceso de NTFS (ACL)
- O de Información del propietario
- U de Información de auditoria
- El valor predeterminado para marcadores es DAT (datos, atributos y las marcas de tiempo).
- / DCOPY: t: Esta opcion copia las marcas de tiempo de los directorios.
- /sec: Con el uso de este parámetro copiaremos los archivos con seguridad (equivalente a /copy:DAT).
- /COPYALL: Copia toda la información del archivo.
- /NOCOPY: Esta opción no copia la información del archivo.
- /secfix: Ejecuta correcciones del archivo de seguridad de todos los archivos, incluso los omitidos.
- /TIMFIX: Corrige el tiempo de todos los archivos, incluso los omitidos.
- /Purge: Se encarga de eliminar los archivos de destino y los directorios que ya no existen en el origen.
- /MIR: Refleja un árbol de directorios.
- /Mov: Mueve los archivos, y los elimina del origen después de copiarlos.
- /Move: Esta opción mueve los archivos y directorios y los elimina del origen después de copiarlos.
- / a +: [RASHCNET]: Agrega los atributos especificados para los archivos copiados.
- / a-: [RASHCNET]: Quita los atributos especificados de los archivos copiados.
- /create: Crea un árbol de directorios y solo archivos de longitud cero.
- / fat: Crea sólo archivos de destino mediante el uso de nombres de archivos FAT de longitud de caracteres 8.3.
- / 256: Desactiva la compatibilidad con rutas muy largas (más de 256 caracteres).
- mon: <N>: Esta opción Supervisa el origen y se ejecuta de nuevo cuando se detectan más de n cambios.
- /MOT: <M>: Se encarga de monitorizar el origen y se ejecuta de nuevo pasados m minutos si se detectan cambios.
- /rh:hhmm-hhmm: Especifica las horas de ejecución en que deben comenzar las nuevas copias.
- /PF: Comprueba los tiempos de ejecución en función de cada fichero.
- / IPG: n: Indica la pausa entre paquetes para liberar ancho de banda en redes lentas o de pocos recursos.
- /SL: Copia el vínculo simbólico en lugar de destino.
- /a: Copia sólo los archivos para el que se establece el atributo de modificado.
- /m: Esta opción copia sólo los archivos que se ha establecido el atributo de modificado y restablece el atributo de modificado.
- /IA: [RASHCNETO]: Con esta opcion se incluye sólo los archivos para el que se establezca cualquiera de los atributos especificados.
- /XA: [RASHCNETO]: Al usar esta opción se excluyen los archivos para el que se establezca cualquiera de los atributos especificados.
- /xf <FileName> [...]: Esta opción excluye los archivos que coincidan con los nombres especificados o rutas de acceso.
- /XD <Directory> [...]: Excluye los directorios que coinciden con las rutas y los nombres especificados.
- /xct: Al usar esta opción se excluye los archivos modificados.
- /Xn: Se excluyen los archivos más recientes.
- /xo: Se excluyen los archivos más antiguos.
- /xx: Se excluye los directorios y archivos Extras.
- /XL: Se excluye los directorios y archivos "solitarios".
- /Is: Se incluyen los mismos archivos.
- /IT: Se incluyen los archivos "y".
- / máx.: <N>: Permite especificar el tamaño máximo del archivo (para excluir archivos de más de n bytes).
- /min: <N>: Permite especificar el tamaño mínimo de archivo (para excluir archivos menores de n bytes).
- /MaxAge: <N>: Se especifica la edad máxima de archivo (para excluir archivos más antiguos de n días o fecha).
- /MINAGE: <N>: Permite especificar la antigüedad mínima (excluyendo archivos más recientes que n días o fecha).
- /MAXLAD: <N>: Especifica el número máximo de fecha del último acceso (excluye los archivos no usados desde N.).
- /MINLAD: <N>: Se especifica la fecha del último acceso (excluye los archivos usados desde N.) mínimo si n es inferior a 1900, N indica el número de días. De lo contrario, N especifica una fecha en el formato AAAAMMDD.
- /XJ: Permite excluir los puntos de unión, que normalmente se incluyen de forma predeterminada.
- /FFT: Asume los tiempos del archivo FAT (precisión de dos segundos).
- / DST: Compensa las diferencias de tiempo de una hora del horario de verano.
- /xjd: Excluye los puntos de unión de directorios.
- /XJF: Excluye los puntos de unión para archivos.
- / r: <N>: Permite especificar el número de reintentos en copias con errores. El valor predeterminado de n es 1.000.000 (un millón de reintentos).
- / w:<N>: Admite especificar el tiempo de espera entre reintentos, en segundos. El valor predeterminado de n es 30 (30 segundos de tiempo de espera).
- /reg: Guarda los valores especificados en las opciones /r y /w como configuración predeterminada en el registro.
- /TBD: Indica que el sistema va a esperar para que los nombres de recurso compartido que se defina (Reintentar error 67).
- /l: Especifica que los archivos que se mostrarán sólo (y no copiar, eliminar, o con sello de tiempo).
- /x: Genera informes de todos los archivos adicionales, no sólo los seleccionados.
- /v: Produce un resultado detallado y muestra todos los archivos omitidos.
- /TS: Incluye las marcas de tiempo del archivo de origen en la salida.
- /FP: Incluye los nombres de ruta de acceso completa de los archivos en la salida.
- / bytes: Imprime los tamaños, como bytes o KB.
- /NS: Especifica que los tamaños de archivo no serán registrados.
- / NC: Especifica que las clases de archivo no estarán registradas.
- /NFL: Especifica que los nombres de archivo no se registrarán.
- /NDL: Especifica que los nombres de directorio no serán registrados.
- /NP: Especifica que no se mostrará el progreso de la operación de copia (el número de archivos o directorios copiados hasta el momento).
- /Eta: Despliega el tiempo estimado de llegada (ETA) de los archivos copiados.
- / log: <LogFile>: Escribe la salida de estado en el archivo de registro (sobrescribe el archivo de registro existente).
- /log+: <LogFile>: Escribe la salida de estado en el archivo de registro (anexa la salida al archivo de registro existente).
- /Unicode: Despliega la salida de estado como texto Unicode.
- /unilog: <LogFile>: Escribe el estado de salida para el archivo de registro como texto Unicode.
- /unilog+: <LogFile>: Escribe el estado de salida para el archivo de registro como texto Unicode.
- /tee: Escribe el resultado de estado a la ventana de consola, así como para el archivo de registro.
- /NJH: Indica que no hay ningún encabezado de trabajo.
- /njs: Especifica que no hay ningún resumen del trabajo.
De esta manera Robocopy se constituye en una función integral para las tareas de copia y respaldo en ambientes Windows.
3. Robocopy ejemplos
Alguna de las opciones que podemos encontrar usando el comando Robocopy son los siguientes:
Robocopy C: \ CarpetaUsuario C: \ CarpetaBackup
Robocopy C: \ CarpetaFuente C: \ CarpetaDestino / E
Robocopy.exe c: \ CarpetaFuente d: \ targetfolder / min: 33553332 / l
@echo apagado día establecido =% fecha: ~ 0,2% set mes =% fecha: ~ 3,2% año establecido =% fecha: ~ 6,4% Robocopy "c: \ data" "c: \ backup \ data \% day% -% month% -% year% \" / MAXAGE: 1
Robocopy C: \ Folder1 C: \ Folder2 / MIR / dcopy: T
ROBOCOPY \\ sourceserver \ share \\ destinationerver \ share / MIR ROBOCOPY unidad origen: \ DIR unidad destino: \ DIR / MIR
4. Excluir archivos y carpetas en Robocopy Windows 10
Ya sabemos que con el comando robocopy podemos administrar archivos mediante la configuración de parámetros que podemos añadir. Aunque tiene parecido a los comandos de copiar, lo cierto es que robocopy permite tener mayor seguridad y éxito en el proceso. Robocopy suele hacer las transferencias en una ruta única por lo que podemos establecer qué excluimos o qué elementos vamos a mover como archivos o carpetas de la siguiente forma:
Gracias a esta utilidad, podremos gestionar más íntegramente el respaldo de nuestra información sin que pierda sus atributos.