Como Preservar os Carimbos de Data/Hora dos Arquivos Durante o Backup com xcopy no Windows 11
🔍 WiseChecker

Como Preservar os Carimbos de Data/Hora dos Arquivos Durante o Backup com xcopy no Windows 11

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.

Sintoma: Deseja preservar os carimbos de data/hora de Criação/Modificação durante o backup com xcopy ou robocopy no Windows 11.
Atinge: Windows 11 (e Windows 10).
Tempo de correção: ~5 minutos (mais o tempo de cópia).

ADVERTISEMENT

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.

  1. 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).
  2. xcopy preserva o carimbo de Modificação por padrão. O carimbo de Criação é redefinido.
  3. Para preservar mais: limitado via xcopy. Melhor usar robocopy (Método 2).
  4. Para tratamento de sobrescrita: adicione /y (sem prompt para sobrescrever).
  5. Para continuar em erro: /c.
  6. Para saída detalhada: /v.
  7. Exemplo com opções completas:
    xcopy "C:\Origem" "D:\Backup" /e /i /h /k /y /c

Esta é a abordagem com xcopy.

ADVERTISEMENT

Método 2: robocopy para preservação completa de carimbos

A recomendação moderna.

  1. robocopy é o substituto da Microsoft para xcopy. Integrado ao Windows.
  2. 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.
  3. Isso preserva: carimbo de Modificação do arquivo, Atributos (somente leitura, oculto, etc.), carimbo de Modificação do diretório.
  4. Para carimbos de Criação: não preservados por padrão. Adicione: /copy:DATSO para Dados, Atributos, Carimbos, Segurança, Proprietário. Ainda não inclui Criação. Necessário flag específico.
  5. Para Criação + Modificação + Acesso:
    robocopy "C:\Origem" "D:\Backup" /e /copy:DATSO /dcopy:DAT

    DATSO para arquivos; DAT para diretórios.

  6. Para modo espelho (excluir arquivos no destino que não estão na origem): adicione /mir. Cuidado: exclui.
  7. Para retomar / sincronizar: /z (modo reiniciável).
  8. 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.

  1. 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
        }
    }
  2. Isso copia cada arquivo e define explicitamente os três carimbos.
  3. Mais lento que xcopy/robocopy devido à sobrecarga de Copy-Item por arquivo.
  4. Para grandes quantidades de arquivos: use robocopy.
  5. 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.
  6. 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 MD5

    Correspondência significa integridade dos dados preservada.

Esta é a abordagem granular.

ADVERTISEMENT

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 /tc no 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.

ADVERTISEMENT