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

Cosa significa quando hai due file identici con timestamp identici, ma Windows dice che un file è più recente dell'altro? Come può essere? Il post di domande e risposte di SuperUser di oggi aiuta un lettore confuso a risolvere un mistero con timestamp.

La sessione di domande e risposte di oggi ci viene fornita da SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte guidato dalla community.

La domanda

Il lettore SuperUser 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?

Inizialmente, ho pensato che Windows stesse confrontando l'attributo della data di creazione e utilizzasse il risultato di quel confronto per etichettare l'uno o l'altro come più recenti. Se un file è stato copiato in un determinato percorso, potrebbe avere la data di creazione di quando è stata effettuata la copia anziché la data di creazione del file originale. Tuttavia, dopo averlo riprodotto con un altro file, il risultato di cui uno è più recente sembra essere il contrario:

Il risultato è lo stesso sia copiando o spostando il file:

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

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

La risposta

Il collaboratore di SuperUser 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, è possibile che i file siano stati creati tra i decimi di secondo l'uno dall'altro.

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

Prova uno dei seguenti metodi per confrontare i timestamp a tempo pieno:

  • wmic datafile dove name = “c: \ foo \ bar.txt” viene modificato per ultimo

Tramite PowerShell:

  • (Get-ChildItem c: foo bar.txt) .LastWriteTime.ToString (“o”)

Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di Stack Exchange? Dai un'occhiata al thread completo di discussione qui.

Credito immagine: WBT (SuperUser)

Articoli correlati

Ultimi articoli