Tengo una unidad flash USB donde tengo una carpeta llamada X que siempre debe ser como la carpeta Y en mi computadora portátil y viceversa, dependiendo de las últimas acciones. Por ejemplo, si elimino algo en la carpeta Y, también debe eliminarse en la carpeta X (tan pronto como se conecte la unidad flash) y viceversa. Si agrego una carpeta o un archivo en X, también se debe agregar en Y, tan pronto como se conecte la unidad flash.
Ahora hice un pequeño script por lotes usando robocopy:
@echo off
robocopy "D:\AC ActiveZone Mobile" "C:\AC ActiveZone" /MIR
PAUSE
La carpeta ActiveZone Mobile es nuestra carpeta X y la ActiveZone es nuestra carpeta Y. El problema ahora es que esto no parece ser una sincronización bidireccional. Demostraré que:
1.) Tanto las carpetas como sus subcarpetas y archivos son identificados 2.) Creó el nuevo archivo T1 en la carpeta X 3.) Creó el nuevo archivo T2 en la carpeta Y 4.) Ejecutó el script
Resultado: en lugar de tener T1 y T2 en ambas carpetas X e Y, ahora solo tengo T1 en ambas carpetas X e Y.
Además, (después de la primera prueba anterior) si elimino T1 en la carpeta Y y ejecuto el script, todo lo que obtengo es un nuevo T1 en la carpeta Y. Pero la acción de eliminación de T1 en Y no es más antigua sino más nueva que la creación de T1 en X. Quiero que T1 también se elimine en X en lugar de que T1 se copie de X a Y.
¿Cómo hacer esto con un script por lotes?
Respuestas:
Um, fácil. Simplemente ejecútelo de dos maneras, excluyendo archivos antiguos:
Esto debería preservar la copia más nueva si el archivo existe en ambas ubicaciones. Uso / DST y / FFT porque las diferencias de marca de tiempo NTFS / FAT32 a menudo causan falsas comparaciones inválidas de lo contrario. También excluyo personalmente Thumbs.db, desktop.ini, etc.
Si desea eliminar archivos no existentes, debe decidir cuál es la ubicación "maestra", colóquela en la segunda línea y cambie / E a / MIR en su lugar. Creo que su idea de saber si un archivo se eliminó de uno u otro en lugar de uno simplemente no tiene un archivo que el otro tiene es imposible sin algún tipo de seguimiento que esté más allá de lo que puede hacer la robocopia.
fuente
Use el Centro de sincronización en el Panel de control para resolver este tipo de problema. Robocopy es la 'Herramienta de Copia Robusta' y solo copiará pero incluirá otra información como marcas de tiempo. No se sincroniza, pero 'Siempre disponible sin conexión' sí. O utilice el antiguo "Maletín".
fuente