2

I have started experiencing this very strange issue in the last few months. I did not have this issue before and I do not know what is causing it now.

I am using SyncToy 2.1 on Windows 10. I am syncing files to a FAT32 formatted USB drive.

Folders whose folder name is less than 9 characters and contain no spaces get copied over to the USB in UPPERCASE if the folder name contains mixed case characters. If the folder name is less than 9 characters but contains a space, then it is copied correctly. If the folder name is more than 8 characters, it is copied correctly. lowercase folder names (<9 chars and without spaces) remain in lowercase, UPPERCASE folder names (<9 chars and without spaces) remain in UPPERCASE. It is only Mixed case that is the problem.

The problem only affects folder names, all files' filenames are copied correctly regardless of the length. I have tested on multiple Windows 10 PC's and they all have the same problem. I have tested multiple FAT32 USBs and they all have the same problem. The problem is not present when using NTFS file system, however, I need to use FAT32.

Examples (PC folder name -> USB folder name):

Incorrect:

  • Test -> TEST
  • Abcdefgh -> ABCDEFGH

Correct:

  • Te st -> Te st
  • Abcdefghi -> Abcdefghi

enter image description here

I never had this problem before. Why is it doing this strange behaviour all of a sudden?

RPH
  • 21

1 Answers1

1

The problem lies on the fact that name of a file/directory actually consists of 2 names: The old (short) 8.3 convention and the new (long) 255-character name.
Specifically for FAT file systems, the system updates both these names whenever you give a name to the file. The short name is created automatically, based on the first characters of the long name (e.g. SyncToy_4264be.dat becomes SYNCTOY~1.DAT). If the name fits into the old naming convention, the long name is discarded.
In the old days of DOS, there was no case sensitivity for file names and programs were free to display them however they would like (either all uppercase or all lowercase). Internally, however, they were stored all uppercase.
Based on this, it seems that Windows 10, when it comes to the 8.3 naming case, doesn't preserve character case information when writing to a FAT volume and converts all characters to uppercase.

You can read some details about file naming conventions here: Long File Names