Wat betekent het als u twee identieke bestanden met identieke tijdstempels heeft, maar Windows zegt dat het ene bestand nieuwer is dan het andere? Hoe kan dat zijn? De SuperUser Q & A-post van vandaag helpt een verwarde lezer een tijdstempelmysterie op te lossen.
De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser – een onderdeel van Stack Exchange, een door de gemeenschap aangestuurde groep van Q & A-websites.
De vraag
SuperUser-lezer WBT wil weten hoe Windows beslist welke van twee bestanden met identieke tijdstempels nieuwer is:
Wanneer Windows een dialoogvenster als dit weergeeft met overeenkomende tijdstempels, hoe bepaalt het dan welke van de twee bestanden nieuwer is?
In eerste instantie dacht ik dat Windows het kenmerk ‘date created’ aan het vergelijken was en het resultaat van die vergelijking gebruikte om de een of de ander als nieuwer te bestempelen. Als een bestand naar een bepaalde locatie is gekopieerd, kan het de aanmaakdatum hebben waarop de kopie is gemaakt in plaats van de aanmaakdatum van het originele bestand. Nadat het echter met een ander bestand is gereproduceerd, lijkt het resultaat waarvan er een nieuwer is, het tegenovergestelde:
Het resultaat is hetzelfde, ongeacht of het bestand wordt gekopieerd of verplaatst:
En als achtergrond: het bestand in test2 is een eerder gemaakte kopie van het bestand in test1.
Hoe beslist Windows welke van de twee bestanden met identieke tijdstempels nieuwer is?
Het antwoord
SuperUser-bijdrager Grawity heeft het antwoord voor ons:
Tijdstempels in het NTFS-bestandssysteem hebben een resolutie van 100 nanoseconden (0,0000001 s). Zelfs als het eigenschappendialoogvenster dezelfde afgeronde waarde toont, kan het toch zijn dat de bestanden binnen tienden van een seconde van elkaar zijn gemaakt.
Opmerking: de meeste bestandssystemen meten tijden in μs of ns. FAT32 is een beetje een relikwie en rondt tijdstempels af op twee seconden.
Probeer een van de volgende methoden om de volledige tijdstempels te vergelijken:
- wmic datafile waar name = ”c: \ foo \ bar.txt” laatst gewijzigd wordt
Via PowerShell:
- (Get-ChildItem c: foo bar.txt) .LastWriteTime.ToString (“o”)
Iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden lezen van andere technisch onderlegde Stack Exchange-gebruikers? Bekijk hier de volledige discussiethread.
Beeldcredits: WBT (SuperUser)