Πώς τα Windows αποφασίζουν ποιο από τα δύο αρχεία με πανομοιότυπα χρονικά γραμματόσημα είναι νεότερο;
Τι σημαίνει αυτό όταν έχετε δύο πανομοιότυπα αρχεία με ταυτόσημες χρονικές σφραγίδες, αλλά τα Windows λένε ότι ένα αρχείο είναι νεότερο από το άλλο; Πως είναι αυτό δυνατόν? Η σημερινή δημοσίευση Q & A της SuperUser βοηθά έναν σύγχρονο αναγνώστη να λύσει ένα μυστήριο της χρονικής σφραγίδας.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Το ερώτημα
Ο αναγνώστης SuperUser WBT θέλει να μάθει πώς τα Windows αποφασίζουν ποια από τα δύο αρχεία με τα ίδια χρονικά γραμματόσημα είναι νεότερα:
Όταν τα Windows εμφανίζουν ένα παράθυρο διαλόγου όπως αυτό με τις αντίστοιχες χρονικές σφραγίδες, πώς καθορίζει ποιο από τα δύο αρχεία είναι νεότερο?
Στην αρχή, σκέφτηκα ότι τα Windows συγκρίνουν την ημερομηνία δημιουργίας χαρακτηριστικών και χρησιμοποιώντας το αποτέλεσμα αυτής της σύγκρισης για την ετικέτα το ένα ή το άλλο ως νεότερο. Εάν ένα αρχείο αντιγράφηκε σε μια συγκεκριμένη τοποθεσία, μπορεί να έχει την ημερομηνία δημιουργίας του χρόνου κατά την οποία έγινε το αντίγραφο αντί της ημερομηνίας δημιουργίας του αρχικού αρχείου. Ωστόσο, μετά την αναπαραγωγή του με ένα άλλο αρχείο, το αποτέλεσμα του οποίου είναι νεότερο φαίνεται να είναι το αντίθετο:
Το αποτέλεσμα είναι το ίδιο αν και η αντιγραφή ή η μετακίνηση του αρχείου:
Και για φόντο, το αρχείο στο test2 είναι ένα προηγουμένως δημιουργημένο αντίγραφο του αρχείου στο test1.
Πώς αποφασίζουν τα Windows ποιο από τα δύο αρχεία με ταυτόσημες χρονικές σφραγίδες είναι νεότερο?
Η απάντηση
Το Grawity Συνεργάτη SuperUser έχει την απάντηση για εμάς:
Οι χρονικές σφραγίδες στο σύστημα αρχείων NTFS έχουν ανάλυση 100 nanoseconds (0.0000001 s). Ακόμη και αν το παράθυρο διαλόγου ιδιοτήτων εμφανίζει την ίδια στρογγυλή τιμή, θα μπορούσε να εξακολουθεί να είναι ότι τα αρχεία δημιουργήθηκαν μέσα σε δέκατα του δευτερολέπτου η μία από την άλλη.
Σημείωση: Τα περισσότερα συστήματα αρχείων μετράνε φορές σε μs ή ns. Το FAT32 είναι ένα κομμάτι από ένα λείψανο και στρογγυλοποιεί τις χρονικές στιγμές σε δύο δευτερόλεπτα.
Δοκιμάστε μία από τις ακόλουθες μεθόδους για να συγκρίνετε τις σφραγίδες πλήρους χρόνου:
- wmic filefile όπου το όνομα = "c: \\ foo \\ bar.txt" παίρνει lastmodified
Μέσω PowerShell:
- (Get-ChildItem c: \ foo \ bar.txt) .LastWriteTime.ToString ("o")
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.
Πιστοποίηση εικόνας: WBT (SuperUser)