29Aug

In che modo Windows decide quale dei due file con timestamp identici è più recente?

Che cosa significa quando si hanno due file identici con timestamp identici, eppure Windows dice che un file è più nuovo dell'altro? Come può essere? Oggi il post di SuperUser Q & A aiuta un lettore confuso a risolvere un mistero temporale.

Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.

La domanda

SuperUser reader WBT vuole sapere come Windows decide quale dei due file con timestamp identici è più recente:

Quando Windows visualizza una finestra di dialogo come questa con timestamp corrispondenti, come determina quale dei due file è più recente?

All'inizio pensavo che Windows stesse confrontando l'attributo data e usando il risultato di quel confronto per etichettare l'uno o l'altro come più recente. Se un file è stato copiato in una posizione particolare, potrebbe avere la data di creazione di quando è stata creata la copia anziché la data di creazione del file originale. Tuttavia, dopo averlo riprodotto con un altro file, il risultato di uno è più recente sembra essere l'opposto:

Il risultato è lo stesso sia per copiare o spostare il file:

E per lo sfondo, il file in test2 è una copia precedentemente creata diil file in test1.

In che modo Windows decide quale dei due file con timestamp identici è più recente?

La risposta

SuperUser contributor grawity ha la risposta per noi:

I timestamp nel file system NTFS hanno una risoluzione di 100 nanosecondi( 0,0000001 s).Anche se la finestra di dialogo delle proprietà mostra lo stesso valore arrotondato, potrebbe comunque essere che i file siano stati creati in decimi di secondo l'uno dall'altro.

Nota: la maggior parte dei file system misura i tempi in μs o ns. FAT32 è un po 'di una reliquia e completa i timestamp a due secondi.

Provare uno dei seguenti metodi per confrontare i timestamp completi:

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

tramite PowerShell:

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

Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.

Image Credit: WBT( SuperUser)