En teoría, el uso /DCOPY:T
deberí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:\Brushes
a D:\NEWBrushes
, y /DCOPY:T
deberí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:\NEWBrushes
carpeta está configurada en la fecha y hora actuales.
Por lo tanto, parece que la /DCOPY:T
funció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:\NEWBrushes
si aún no existe
- Copie la marca de tiempo de
C:\Brushes
aD:\NEWBrushes
- Copie archivos y subcarpetas de
C:\Brushes
aD:\NEWBrushes
Parece que el Paso 3, la modificación del contenido de la carpeta D:\NEWBrushes
hace D:\NEWBrushes
que cambie la marca de tiempo de .
Para mí, la "solución" ha sido ejecutar el robocopy
comando para copiar los archivos y carpetas, luego ejecutar el (mismo) robocopy
comando 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 robocopy
ejecuta, no D:\NEWBrushes
se modificarán archivos ni carpetas , y la /DCOPY:T
opción le indicará robocopy
que copie la marca de tiempo de C:\Brushes
a D:\NEWBrushes
(a menos que haya carpetas / archivos C:\Brushes
que 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.