Wie entscheidet Windows, welche der beiden Dateien mit identischen Zeitstempeln neuer ist?
Was bedeutet es, wenn Sie zwei identische Dateien mit identischen Zeitstempeln haben und Windows dennoch sagt, dass eine Datei neuer ist als die andere? Wie kann das sein? Der heutige Q & A-Beitrag von SuperUser hilft einem verwirrten Leser, ein Zeitstempel-Rätsel zu lösen.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
SuperUser Reader WBT möchte wissen, wie Windows entscheidet, welche von zwei Dateien mit identischen Zeitstempeln neuer ist:
Wenn Windows ein solches Dialogfeld mit übereinstimmenden Zeitstempeln anzeigt, wie wird festgestellt, welche der beiden Dateien neuer ist?
Zuerst dachte ich, Windows würde das Erstellungsdatum des Datums vergleichen und das Ergebnis dieses Vergleichs verwenden, um das eine oder das andere als neueres zu kennzeichnen. Wenn eine Datei an einen bestimmten Ort kopiert wurde, hat sie möglicherweise das Erstellungsdatum der Kopie und nicht das Erstellungsdatum der Originaldatei. Nach der Wiedergabe mit einer anderen Datei scheint das Ergebnis jedoch neuer zu sein:
Das Ergebnis ist dasselbe, ob Sie die Datei kopieren oder verschieben:
Im Hintergrund ist die Datei in test2 eine zuvor erstellte Kopie der Datei in test1.
Wie entscheidet Windows, welche von zwei Dateien mit identischen Zeitstempeln neuer ist??
Die Antwort
Superuser-Mitwirkende grawity hat die Antwort für uns:
Zeitstempel im NTFS-Dateisystem haben eine Auflösung von 100 Nanosekunden (0,0000001 s). Selbst wenn im Eigenschaftendialogfeld der gleiche gerundete Wert angezeigt wird, kann es sein, dass die Dateien innerhalb von Zehntelsekunden erstellt wurden.
Hinweis: Die meisten Dateisysteme messen Zeiten in μs oder ns. FAT32 ist ein bisschen ein Relikt und rundet die Zeitstempel auf zwei Sekunden.
Versuchen Sie eine der folgenden Methoden, um die vollständigen Zeitstempel zu vergleichen:
- wmic-Datendatei wobei name = "c: \\ foo \\ bar.txt" zuletzt geändert wird
Über PowerShell:
- (Get-ChildItem c: \ foo \ bar.txt) .LastWriteTime.ToString ("o")
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.
Bildnachweis: WBT (SuperUser)