29Aug

Hoe bepaalt Windows welke van twee bestanden met identieke tijdstempels nieuwer is?

Wat betekent het als je twee identieke bestanden hebt met dezelfde tijdstempels, 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 van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

De vraag

SuperUser-lezer WBT wil weten hoe Windows beslist welke van twee bestanden met dezelfde tijdstempels nieuwer is:

Wanneer Windows een dialoogvenster zoals dit met overeenkomende tijdstempels weergeeft, hoe bepaalt het dan welke van de twee bestanden nieuwer is?

Eerst dacht ik dat Windows het attribuut voor de datum maakte en het resultaat van die vergelijking gebruikte om het een of het ander als nieuwer te labelen. Als een bestand naar een bepaalde locatie is gekopieerd, kan het de aanmaakdatum hebben van wanneer de kopie is gemaakt in plaats van de aanmaakdatum van het oorspronkelijke bestand. Na reproductie met een ander bestand lijkt het resultaat echter nieuwer:

Het resultaat is hetzelfde, ongeacht of het bestand wordt gekopieerd of verplaatst:

En voor achtergrond is het bestand in test2 een eerder gemaakte kopie vanhet bestand in test1.

Hoe bepaalt Windows welke van twee bestanden met dezelfde tijdstempels nieuwer is?

Het antwoord

SuperUser contributor grawity heeft het antwoord voor ons:

Tijdstempels in het NTFS-bestandssysteem hebben een resolutie van 100 nanoseconden( 0.0000001 s).Zelfs als in het eigenschappenvenster dezelfde afgeronde waarde wordt weergegeven, kan het nog steeds zo 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 tot twee seconden.

Probeer een van de volgende methoden om de full-time stempels te vergelijken:

  • wmic datafile waarbij naam = "c: \\ foo \\ bar.txt" krijg als laatste gewijzigd

Via PowerShell:

  • ( Get-ChildItem c: \ foo \ bar.txt). LastWriteTime. ToString( "o")

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.

beeldbank: WBT( SuperUser)