Solução rápida: Use xcopy com a flag /k (manter atributos). Melhor: use robocopy, que preserva os carimbos de data/hora por padrão. Exemplo: robocopy C:\Origem D:\Backup /e /copy:DAT /dcopy:T. Isso copia todos os arquivos e subdiretórios, preserva Dados, Atributos, Carimbos de data/hora para arquivos e copia carimbos de diretórios. Recomendação moderna: robocopy em vez de xcopy.
O comando copy padrão e o arrastar e soltar do Explorador de Arquivos redefinem as datas dos arquivos para “agora”. Isso quebra a ordenação de backups, verificações de versão e ferramentas de sincronização. xcopy e robocopy podem preservar os carimbos de data/hora originais. robocopy é mais poderoso e é a recomendação da Microsoft.
Atinge: Windows 11 (e Windows 10).
Tempo de correção: ~5 minutos (mais o tempo de cópia).
O que causa essa necessidade
Muitos fluxos de trabalho dependem das datas dos arquivos:
- Verificação de backup: ordenar por data para encontrar alterações recentes.
- Controle de versão: carimbos confirmam qual é o mais recente.
- Ferramentas de sincronização (rsync, Resilio): usam carimbos para detectar alterações.
- Perícia / conformidade: carimbos são evidências.
- Organização de fotos / mídia: datas de captura.
O copy padrão define Criação = agora, quebrando esses fluxos.
Método 1: xcopy com a flag /k
A rota legada.
- xcopy é o utilitário de cópia mais antigo do Windows. Para preservar carimbos:
xcopy "C:\Origem" "D:\Backup" /e /i /h /k- /e: incluir todos os subdiretórios.
- /i: tratar destino como diretório.
- /h: copiar arquivos ocultos.
- /k: preservar atributos de arquivo (inclui estado somente leitura).
- xcopy preserva o carimbo de Modificação por padrão. O carimbo de Criação é redefinido.
- Para preservar mais: limitado via xcopy. Melhor usar robocopy (Método 2).
- Para tratamento de sobrescrita: adicione
/y(sem prompt para sobrescrever). - Para continuar em erro:
/c. - Para saída detalhada:
/v. - Exemplo com opções completas:
xcopy "C:\Origem" "D:\Backup" /e /i /h /k /y /c
Esta é a abordagem com xcopy.
Método 2: robocopy para preservação completa de carimbos
A recomendação moderna.
- robocopy é o substituto da Microsoft para xcopy. Integrado ao Windows.
- Espelho básico com carimbos:
robocopy "C:\Origem" "D:\Backup" /e /copy:DAT /dcopy:T- /e: copiar todos os subdiretórios (incluindo vazios).
- /copy:DAT: copiar Dados, Atributos, Carimbos de data/hora para arquivos. O padrão é DAT.
- /dcopy:T: copiar também carimbos de diretórios. O padrão não copia estes.
- Isso preserva: carimbo de Modificação do arquivo, Atributos (somente leitura, oculto, etc.), carimbo de Modificação do diretório.
- Para carimbos de Criação: não preservados por padrão. Adicione:
/copy:DATSOpara Dados, Atributos, Carimbos, Segurança, Proprietário. Ainda não inclui Criação. Necessário flag específico. - Para Criação + Modificação + Acesso:
robocopy "C:\Origem" "D:\Backup" /e /copy:DATSO /dcopy:DATDATSO para arquivos; DAT para diretórios.
- Para modo espelho (excluir arquivos no destino que não estão na origem): adicione
/mir. Cuidado: exclui. - Para retomar / sincronizar:
/z(modo reiniciável). - Para registro:
/log:C:\backup-log.txt.
Esta é a forma com robocopy.
Método 3: PowerShell para controle granular de carimbos
Para requisitos específicos.
- PowerShell pode copiar com preservação completa de carimbos:
Get-ChildItem "C:\Origem" -Recurse | ForEach-Object { $dest = $_.FullName.Replace("C:\Origem", "D:\Backup") if ($_.PSIsContainer) { New-Item -ItemType Directory -Path $dest -Force | Out-Null } else { Copy-Item -Path $_.FullName -Destination $dest -Force $destFile = Get-Item $dest $destFile.CreationTime = $_.CreationTime $destFile.LastWriteTime = $_.LastWriteTime $destFile.LastAccessTime = $_.LastAccessTime } } - Isso copia cada arquivo e define explicitamente os três carimbos.
- Mais lento que xcopy/robocopy devido à sobrecarga de Copy-Item por arquivo.
- Para grandes quantidades de arquivos: use robocopy.
- Para renomear em massa com preservação de carimbos: extraia data do conteúdo do arquivo (EXIF para fotos), defina Criação/Modificação para corresponder.
- Para verificar backup: após a cópia, compare hashes:
Get-FileHash "C:\Origem\arquivo.txt" -Algorithm MD5 Get-FileHash "D:\Backup\arquivo.txt" -Algorithm MD5Correspondência significa integridade dos dados preservada.
Esta é a abordagem granular.
Como verificar se a correção funcionou
- Compare origem e destino: clique com botão direito no arquivo na origem → Propriedades → anote as datas de Criação, Modificação, Acesso.
- Mesmo para o destino. As datas devem corresponder (dentro da precisão de microssegundos, dependendo do sistema de arquivos).
- Para verificação em lote:
dir /tw /tcno cmd. /tw = ordenar por data de gravação, /tc = ordenar por data de criação. - Log do robocopy: procure por entradas “Mismatch”. Não deve haver nenhuma.
Se nenhum desses funcionar
Se os carimbos não forem preservados: Limitação do sistema de arquivos: FAT32 tem granularidade de 2 segundos. exFAT tem 10ms. NTFS tem 100ns. ReFS tem nanossegundos. Incompatibilidade entre sistemas de arquivos: carimbos são arredondados. Para OneDrive / compartilhamentos de rede: o servidor pode definir Modificação com a hora do servidor. Arquivos locais são preservados. Para problemas de permissão: não é possível definir carimbos em arquivos onde o usuário não é proprietário. Execute como Administrador ou assuma a propriedade. Para arquivos em uso: arquivos em uso podem não preservar carimbos. Feche aplicativos primeiro ou use /B no robocopy (modo backup, requer Admin). Para backups baseados em VSS: o Volume Shadow Copy preserva carimbos inerentemente. Ferramentas como Macrium Reflect usam VSS. Para origem Linux / macOS: carimbos ext4 / APFS podem ter precisão de nanossegundos; ocorre arredondamento para NTFS. Para perícia de datas específicas: ferramentas como ExifTool podem ler/escrever carimbos em locais alternativos (metadados do arquivo).
Conclusão: Use robocopy "C:\Origem" "D:\Backup" /e /copy:DAT /dcopy:T para preservação padrão de carimbos. Adicione /copy:DATSO /dcopy:DAT para preservação mais completa. xcopy /k para compatibilidade legada.