En teoría, el uso /DCOPY:Tdebería resolver todos sus problemas.
Pero, he visto que esto sucede, y no estoy seguro de llamarlo "error", sino más bien una consecuencia de la secuencia de operaciones (OK, error).
Este comando debería funcionar para copiar todos los archivos de C:\Brushesa D:\NEWBrushes, y /DCOPY:Tdebería hacer que las marcas de tiempo de la carpeta de origen se copien en la carpeta de destino:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
Lo que he visto (al menos en algunas versiones de Robocopy) es que el comando tiene éxito, pero la marca de tiempo de la D:\NEWBrushescarpeta está configurada en la fecha y hora actuales.
Por lo tanto, parece que la /DCOPY:Tfunción no funciona para la carpeta "base" (superior) que está copiando.
Creo que está funcionando, pero que la marca de tiempo de la carpeta de destino está siendo "pisada" por operaciones que se encuentran más adelante en la secuencia de operaciones.
Lo que creo que está sucediendo para este comando:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
es algo como esto:
- Crear carpeta
D:\NEWBrushessi aún no existe
- Copie la marca de tiempo de
C:\BrushesaD:\NEWBrushes
- Copie archivos y subcarpetas de
C:\BrushesaD:\NEWBrushes
Parece que el Paso 3, la modificación del contenido de la carpeta D:\NEWBrusheshace D:\NEWBrushesque cambie la marca de tiempo de .
Para mí, la "solución" ha sido ejecutar el robocopycomando para copiar los archivos y carpetas, luego ejecutar el (mismo) robocopycomando por segunda vez.
Entonces, la primera vez que corres:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
Todos los archivos y carpetas serán copiados. Luego ejecutándolo nuevamente:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
(or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T
La segunda vez que se robocopyejecuta, no D:\NEWBrushesse modificarán archivos ni carpetas , y la /DCOPY:Topción le indicará robocopyque copie la marca de tiempo de C:\Brushesa D:\NEWBrushes(a menos que haya carpetas / archivos C:\Brushesque hayan cambiado desde la primera ejecución de robocopy).
rsync, pero ¿qué pasa si no tiene una barra diagonal al final de su carpeta de destino? ¿Qué tal intentar modificar el script a nivel de línea de comandos en lugar de usar la GUI? Sé con certeza que la herramienta de línea de comandos hará lo que necesita.