Comment Windows décide-t-il lequel des deux fichiers ayant la même horodatage est plus récent?
Qu'est-ce que cela signifie quand vous avez deux fichiers identiques avec des horodatages identiques, alors que Windows dit qu'un fichier est plus récent que l'autre? Comment cela peut-il être? Le billet de questions et réponses du superutilisateur d'aujourd'hui aide un lecteur confus à résoudre un mystère d'horodatage.
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
La question
Le lecteur SuperUser WBT veut savoir comment Windows décide lequel des deux fichiers avec les mêmes horodatages est le plus récent:
Lorsque Windows affiche une telle boîte de dialogue avec des horodatages correspondants, comment détermine-t-il lequel des deux fichiers est le plus récent??
Au début, je pensais que Windows comparait l'attribut date créé et utilisait le résultat de cette comparaison pour étiqueter l'un ou l'autre comme plus récent. Si un fichier a été copié dans un emplacement particulier, il peut avoir la date de création de la copie plutôt que la date de création du fichier d'origine. Cependant, après l'avoir reproduit avec un autre fichier, le résultat dont on est plus récent semble être l'inverse:
Le résultat est le même qu'il s'agisse de copier ou de déplacer le fichier:
Et pour l’arrière-plan, le fichier dans test2 est une copie précédemment faite du fichier dans test1.
Comment Windows détermine-t-il lequel des deux fichiers avec les mêmes horodatages est le plus récent??
La réponse
Grawity, contributeur au superutilisateur, a la solution pour nous:
Les horodatages dans le système de fichiers NTFS ont une résolution de 100 nanosecondes (0,0000001 s). Même si la boîte de dialogue des propriétés montre la même valeur arrondie, il se peut que les fichiers aient été créés à dix dixièmes de seconde près..
Remarque: la plupart des systèmes de fichiers mesurent les temps en μs ou en ns. FAT32 est un peu une relique et arrondit les horodatages à deux secondes.
Essayez l’une des méthodes suivantes pour comparer les horodatages complets:
- wmic datafile où name = ”c: \\ foo \\ bar.txt” est modifié en dernier
Via PowerShell:
- (Get-ChildItem c: \ foo \ bar.txt) .LastWriteTime.ToString («o»)
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.
Crédit d'image: WBT (SuperUser)