1

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.

3
  • Thanks for sharing. What about putting a question in as well?
    – ypnos
    May 22, 2009 at 9:18
  • Thanks for complaining. What about deleting your comment now that the statement has been edited into a question? :-)
    – Pax
    May 22, 2009 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, 2009 at 16:34

3 Answers 3

4

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.

1
  • Correct. This is why.
    – Blank Xavier
    May 22, 2009 at 9:22
0

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.

0

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.

1
  • This is because FAT32 does not support file level permissions
    – Sam Cogan
    May 22, 2009 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.