29Aug

Como o Windows decide qual dos dois arquivos com selos de tempo idênticos é mais novo?

O que significa quando você tem dois arquivos idênticos com selos de tempo idênticos, mas o Windows diz que um arquivo é mais novo que o outro? Como pode ser? O super-usuário Q & amp; Um post ajuda um leitor confuso a resolver um mistério de carimbo de horário.

Pergunta de hoje e amp;A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

A pergunta

Leitor de superutilizador WBT quer saber como o Windows decide qual dos dois arquivos com selos de tempo idênticos é mais novo:

Quando o Windows exibe uma caixa de diálogo como esta com marcadores de tempo correspondentes, como ele determina qual dos dois arquivos é mais novo?

No início, pensei que o Windows estava comparando o atributo datado criado e usando o resultado dessa comparação para marcar um ou outro como novo. Se um arquivo foi copiado para um local específico, pode ter a data de criação de quando a cópia foi feita e não a data de criação do arquivo original. No entanto, depois de reproduzi-lo com outro arquivo, o resultado do qual um é mais novo parece ser o oposto:

O resultado é o mesmo, quer copiar ou mover o arquivo:

E para o plano de fundo, o arquivo em test2 é uma cópia feita anteriormenteo arquivo no teste1.

Como o Windows decide qual dos dois arquivos com selos de tempo idênticos é mais novo?

A resposta

SuperUser contribuinte grawity tem a resposta para nós:

Os carimbos de tempo no sistema de arquivos NTFS têm uma resolução de 100 nanosegundos( 0.0000001 s).Mesmo que a caixa de diálogo de propriedades exiba o mesmo valor arredondado, ainda pode ser que os arquivos foram criados dentro dos décimos de segundo um do outro.

Nota: A maioria dos sistemas de arquivos mede vezes em μs ou ns. FAT32 é um pouco de relíquia e marca selos de tempo para dois segundos.

Experimente um dos seguintes métodos para comparar os carimbos de tempo completo:

  • wmic datafile onde name = "c: \\ foo \\ bar.txt" get lastmodified

Via PowerShell:

  • ( Get-ChildItem c: \ foo \ bar.txt). LastWriteTime. ToString( "o")

Tem algo a ser adicionado à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.

Crédito de Imagem: WBT( SuperUser)