copy /uf and usb key

I don't understand what is happening with copy /uf. My c: drive is an ntfs hard disk. My f: drive is a FAT USB key. I copy a file from c: to f:, then copy /uf it back. I would expect that it wouldn't be copied back, but it is.

C:\Junk>echo %@filetime[,,s] %@fileage[]
20:37:39 129745030598204083
C:\Junk>copy f:\
C:\Junk\ => F:\
    1 file copied
C:\Junk>echo %@filetime[f:\,,s] %@fileage[f:\]
20:37:40 129745030600000000
C:\Junk>copy /uf f:\ .
F:\ => C:\Junk\
    1 file copied
C:\Junk>echo %@filetime[,,s] %@fileage[]
20:37:40 129745030600000000

TCC  13.03.45   Windows Vista [Version 6.0.6002]
FAT only has a granularity of two seconds for file update times, whereas NTFS file times are much more accurate (sub-millisecond), therefore you will nearly always get the 'wrong' result in one direction or the other when doing a /u copy from FAT to NTFS or vice versa

Hence the /UF.

It looks to me like, when Windows copies from NTFS to FAT, the file time gets rounded to the nearest two-second interval, not truncated as I would expect.
Rounding shouldn't matter, since the rounded value should still be less than two seconds from the original value. I can duplicate the problem on Vista and Windows 7 and two different USB keys.

Similar threads