Я начал испытывать эту очень странную проблему в последние несколько месяцев. У меня не было этой проблемы раньше, и я не знаю, что вызывает это сейчас.

Я использую SyncToy 2.1 на Windows 10. Я синхронизирую файлы на USB-накопитель в формате FAT32.

Папки, имя папки которых меньше 9 символов и не содержит пробелов, копируются на USB в UPPERCASE, если имя папки содержит символы со смешанным регистром. Если имя папки меньше 9 символов, но содержит пробел, оно копируется правильно. Если имя папки превышает 8 символов, оно копируется правильно. имена папок в нижнем регистре (<9 символов и без пробелов) остаются в нижнем регистре, имена папок в верхнем регистре (<9 символов и без пробелов) остаются в верхнем регистре. Проблема только в смешанном случае.

Проблема затрагивает только имена папок, имена всех файлов копируются правильно, независимо от длины. Я проверил на нескольких компьютерах с Windows 10, и все они имеют ту же проблему. Я протестировал несколько USB-устройств FAT32, и все они имеют одну и ту же проблему. Проблема отсутствует при использовании файловой системы NTFS, однако мне нужно использовать FAT32.

Примеры (имя папки ПК -> имя папки USB):

Неправильно:

  • Тест -> ТЕСТ
  • Abcdefgh -> ABCDEFGH

Правильный:

  • Те ст -> Те ст
  • Abcdefghi -> Abcdefghi

У меня никогда не было этой проблемы раньше. Почему он делает это странное поведение внезапно?

1 ответ1

0

Проблема заключается в том, что имя файла / каталога фактически состоит из 2 имен: старого (короткого) соглашения 8.3 и нового (длинного) имени из 255 символов.
Специально для файловых систем FAT система обновляет оба этих имени всякий раз, когда вы даете имя файлу. Краткое имя создается автоматически на основе первых символов длинного имени (например, SyncToy_4264be.dat становится SYNCTOY ~ 1.DAT). Если имя соответствует старому соглашению об именах, длинное имя отбрасывается.
В старые времена DOS не было никакой чувствительности к регистру имен файлов, и программы могли свободно отображать их по своему усмотрению (либо все прописные, либо все строчные). Внутренне, однако, они были сохранены все в верхнем регистре.
Исходя из этого, кажется, что Windows 10, когда речь идет о регистре имен 8.3, не сохраняет информацию о регистре символов при записи в том FAT и преобразует все символы в верхний регистр.

Вы можете прочитать некоторые подробности об именах файлов здесь: Длинные имена файлов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .