Em teoria, usar /DCOPY:T deve resolver todos os seus problemas.
Mas, eu vi isso acontecer, e não tenho certeza se chamaria isso de "bug", mas sim uma conseqüência da sequência de operações (OK, bug).
Este comando deve funcionar para copiar todos os arquivos de C:\Brushes para D:\NEWBrushes e /DCOPY:T deve fazer com que os carimbos de data e hora da pasta de origem sejam copiados para a pasta de destino:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
O que eu vi (pelo menos em algumas versões do Robocopy) é que o comando é bem-sucedido, mas o timestamp da pasta D:\NEWBrushes está definido para a data e hora atuais.
Portanto, parece que o recurso /DCOPY:T não funciona para a pasta "base" (mais alta) que você está copiando.
Acredito que esteja funcionando, mas que o registro de data e hora da pasta de destino esteja sendo "pisado" por operações que estão mais tarde na sequência de operações.
O que eu acredito está acontecendo para este comando:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
é algo assim:
- Crie a pasta
D:\NEWBrushes , se ela ainda não existir
- Copie o registro de data e hora de
C:\Brushes para D:\NEWBrushes
- Copie arquivos e subpastas de
C:\Brushes para D:\NEWBrushes
Parece que na Etapa 3, a modificação do conteúdo da pasta D:\NEWBrushes faz com que o registro de data e hora de D:\NEWBrushes seja alterado.
Para mim, a "solução" foi executar o comando robocopy para copiar os arquivos e pastas e, em seguida, executar o comando (same) robocopy uma segunda vez.
Então, a primeira vez que você corre:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
todos os arquivos e pastas serão copiados. Em seguida, execute-o novamente:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
(or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T
Na segunda vez em que robocopy for executado, nenhum arquivo ou pasta dentro de D:\NEWBrushes será modificado, e a opção /DCOPY:T dirá a robocopy para copiar o registro de data e hora de C:\Brushes para D:\NEWBrushes (a menos que haja pastas / arquivos em C:\Brushes que foram alterados desde a primeira execução de robocopy ).