Otra versión de batch que sincroniza archivos modificados y elimina los eliminados (con opción /MIR)
Para copiar solo los archivos y directorios modificados y sincronizar todos los contenidos, eliminando los que se hayan borrado en la fuente original, puedes usar las opciones
/MIR y
/PURGE de ROBOCOPY.
Ejemplo:
Código: Seleccionar todo
@echo off
Title Copia de Seguridad
echo =========================================
echo = =
echo = Copia de Seguridad =
echo = =
echo =========================================
echo Este comando copiara la carpeta Mis Documentos dentro de una nombrada BACKUP en la unidad Z
REM pause
REM Verificar si la unidad Z: está disponible
IF EXIST Z:\ (
ROBOCOPY %userprofile%\Nextcloud Z:\BACKUP\Documentos\ /MIR /R:0 /W:0 /LOG+:Z:\BACKUP\robocopy.log
echo Copia realizada. Pulsa cualquier tecla para cerrar.
) ELSE (
echo La unidad Z: no esta disponible. Por favor, verifica la conexion y vuelve a intentarlo.
)
pause
Explicación de las opciones:
-
/MIR: Esta opción hace que ROBOCOPY refleje (mirror) el directorio de origen en el directorio de destino. Esto incluye la eliminación de archivos en el destino que ya no existen en el origen.
-
/R:0: Número de reintentos en caso de error (0 en este caso).
-
/W:0: Tiempo de espera entre reintentos (0 segundos en este caso).
-
/LOG+: Añade la salida al archivo de log especificado.
NOTA IMPORTANTE:
La diferencia entre las opciones
/S y
/MIR en ROBOCOPY puede ser sutil pero importante:
-
/S: Esta opción copia todos los subdirectorios, excepto los vacíos. Esto significa que copiará todos los archivos y carpetas dentro de la carpeta de origen, pero no eliminará archivos o carpetas en el destino que ya no existen en el origen.
-
/MIR: Esta opción es una combinación de
/E (copia todos los subdirectorios, incluidos los vacíos) y
/PURGE (elimina archivos y directorios en el destino que ya no existen en el origen). En otras palabras,
/MIR asegura que el destino sea una imagen especular exacta del origen, incluyendo la eliminación de archivos y carpetas que ya no están presentes en el origen.
En resumen, mientras que
/S solo copia archivos y carpetas nuevas o modificadas,
/MIR también se asegura de que el destino se mantenga sincronizado con el origen, eliminando cualquier archivo o carpeta que ya no exista en el origen.