When copying a file from an NTFS partition to a FAT32 device, the new file's modified date is sometimes changed by 1 or 2 seconds. Why does this happen?

This became apparent in a file syncronization program I have that compares mod dates and copies newer files over the older, and in this case can never catch up since the mod date is a moving target. I tried doing a drag-n-drop copy within Windows Explorer and it did the same thing.

  • Thanks for sharing. What about putting a question in as well? – ypnos May 22 '09 at 9:18
  • Thanks for complaining. What about deleting your comment now that the statement has been edited into a question? :-) – Pax May 22 '09 at 9:26
  • we absolutely need tag here at SF for questions out of curiosity that do well have a correct answer, but not a technical solution to a problem ! – lImbus May 22 '09 at 16:34

This is because FAT32 has 2 second resolution for last write times.

In other words, what you're seeing is a limitation of the file system: it can't store last modified times accurately to the second.

Your synchronisation program is going to have to allow a window of a few seconds when comparing dates or use another method to work out which files to copy. You could checksum the files to compare the contents; if you don't have too many files this can be reasonably fast.

| improve this answer | |
  • Correct. This is why. – Blank Xavier May 22 '09 at 9:22

I think the only differences between the original FAT and FAT32 was the long file name support and the size of the FAT pointers (up from 16 bits to 32) to allow smaller clusters on large disks.

I don't think they rejigged the directory entry formats which have had a 2-second resolution since the very earliest days of DOS. This was to save space on the disk, not so important now, but very important back then.

| improve this answer | |

The other reason is because all NTFS permissions are removed. I've noticed all user profile permissions in NTFS are not on files that have been copied to FAT32.

| improve this answer | |
  • This is because FAT32 does not support file level permissions – Sam Cogan May 22 '09 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.