Ko tas nozīmē, ja jums ir divi identiski faili ar identiskiem laika zīmogiem, bet Windows saka, ka viens fails ir jaunāks par otru? Kā tas var būt? Šodienas SuperUser Q & A ziņa palīdz neskaidrām lasītājam atrisināt laika zīmogu noslēpumu.
Šodienas jautājumu un atbilžu sesija mums priecājas par SuperUser - Stack Exchange dalību, kas ir kopienas vadīta Q & A tīmekļa vietņu grupa.
SuperUser lasītājs WBT vēlas zināt, kā Windows izlemj, kurš no diviem failiem ar identiskiem laika zīmogiem ir jaunāks:
Kad Windows parāda līdzīgu dialogu ar atbilstošiem laika zīmogiem, kā tas nosaka, kurš no šiem diviem failiem ir jaunāks?
Sākumā es domāju, ka Windows salīdzina izveidotā atribūta datumu un izmanto šī salīdzinājuma rezultātus, lai iezīmētu vienu vai otru kā jaunāku. Ja fails tika nokopēts konkrētā vietā, tā var būt izveidošanas datums, kad tika veikta kopija, nevis sākotnējā faila izveides datums. Tomēr, pēc tā reproducēšanas ar citu failu, kura rezultāts ir jaunāks, šķiet, ir otrādi:
Rezultāts ir tāds pats, vai kopēt vai pārvietot failu:
Fonam failā test2 ir iepriekš izveidota faila kopija test1.
Kā Windows izlemj, kurš no diviem failiem ar identiskiem laika zīmogiem ir jaunāks?
SuperUser ieguldītājs gravitāte ir atbilde mums:
NTFS failu sistēmas laika spiedogi izšķirtspēja ir 100 nanosekundes (0,0000001 s). Pat ja rekvizītu dialoglodziņš parāda vienādu vērtību, joprojām varētu būt, ka faili tika izveidoti sekundes desmitdaļās.
Piezīme. Lielākā daļa failu sistēmu mēra laikus μs vai ns. FAT32 ir nedaudz relikvijas un apgāžas uz divām sekundēm.
Pilna laika zīmogmarku salīdzināšanai izmēģiniet vienu no šīm metodēm:
- wmic datu fails, kur name = "c: \ foo \ bar.txt" get last modified
Izmantojot PowerShell:
- (Get-ChildItem c: \ foo \ bar.txt) .LastWriteTime.ToString ("o")
Vai kaut ko pievienot paskaidrojumam? Skatieties komentāros. Vēlaties lasīt citas atbildes no citiem tehnoloģiju savvy Stack Exchange lietotājiem? Šeit skatiet pilnu diskusiju pavedienu.
Attēlu kredīts: WBT (SuperUser)