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
  • 4
  • How were the volumes formatted? LFN support doesn’t seem to be enabled. – Tyson Feb 23 '18 at 13:14
  • @Tyson I formatted them using the standard Windows 10 formatting dialog box (right click -> format). This method always used to work fine, like I said, the problem only started in the last few months. I could try using a different method to format the drive to FAT32. What would you recommend ? I do have access to a machine running Ubuntu 16.04. Thanks. – RPH Feb 23 '18 at 13:24
  • I can't duplicate this issue, i just tried using win10. Two thoughts: 1) how large of USB drive is it? (maybe i need to try a different size) Also, Is it a USB flash drive or a USB external hard drive? (I assumed flash) 2) SyncToy writes some files to help keep track of syncing, what happend if you create a virgin folder and populate it with some regular files--and none of the hidden synctoy files yet exist for the folder? (hang that new folder on c:\ because I'm not sure how many parent folders synctoy looks in for sync status,) – Tyson Feb 23 '18 at 14:27
  • Couple thoughts just in case you want to listen, try, etc. Just to confirm it was not a one time fluke, delete those folders, restart the PC, and then re-run the job to see what results you get. Also, are you using command line for this sync job or how are you running it from GUI, etc.? Lastly, if you wanted to try in case it's related, consider ensuring [enabling NTFS long paths](https://superuser.com/questions/1119883/windows-10-enable-ntfs-long-paths-policy-option-missing/1119948#1119948). I'd be surprise if that's it but some easy enough to test to eliminate just in case perhaps. – Vomit IT - Chunky Mess Style Feb 23 '18 at 15:26
  • @Tyson Thanks for replying back. Pretty weird that you cannot replicate the issue. To answer your 1st question, I tried using both a 2GB and 4GB USB flash drive. – RPH Feb 23 '18 at 16:00
  • @Tyson As for your 2nd question, I did as you suggested and the result is the same. I created a "New Folder" in C:\ and made a folder called "Test" inside it. I re-formatted the USB as FAT32. I created a new SyncToy folder pair with the left folder "C:\New Folder\" and the right folder "E:\". After running the folder pair sync, a folder called "TEST" appeared on the USB drive E:\. I took some screenshots which I will upload to illustrate it better. – RPH Feb 23 '18 at 16:05
  • @Tyson Here is a link to the screenshots: [link](https://1drv.ms/f/s!AmrKrfHcOLAtgQzzeQ8tUqaCG0_E) – RPH Feb 23 '18 at 16:08
  • @PimpJuiceIT The result is the same. I tried running it using both the command line and the GUI, the result is the same. I enabled NTFS long paths in the registry, restarted and tried again fresh, result is the same. – RPH Feb 23 '18 at 16:32
  • @Tyson Are you able to replicate the issue if you follow the same steps as me ? – RPH Feb 24 '18 at 14:39
  • I went as far as completely uninstalling and re-installing SyncToy and started again from scratch. The problem STILL persists. Something has definitely changed in Windows in the last month that is causing this issue because at the beginning of the month when I first set this up, it was working fine. – RPH Feb 24 '18 at 17:51
  • Sorry @RPH I didn’t get this retested one last time before I left on a trip. (Only brought an iPad with)... next chance to retest is not for about 12 days. – Tyson Feb 26 '18 at 01:39

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

  • This was working fine a few months ago though with Windows 10. I also don't understand why Te st copies correctly but Test doesn't ? The problem also does not affect file names - only folder names are affected. – RPH Feb 23 '18 at 13:46
  • And BTW, 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. – RPH Feb 23 '18 at 14:10
  • Spaces in names aren't allowed in 8.3 names, so they get converted to something like _TE~1_. I suspect some kind of update caused this issue affecting only folders. I will research more and let you know. – Dennis Johnson Feb 23 '18 at 21:26