Это не ошибка. Это сделано для предотвращения проблем совместимости.
Это пережиток старых дней DOS.
Файловые системы FAT12 (floppy) и FAT16 (FAT16 до поддержки длинных имен файлов, представленных в Windows 95) имели только имена файлов, хранящиеся в 11 байтах:
8 байтов для имени, 3 для расширения. «Период» между именем и расширением даже не был сохранен. Это подразумевалось и автоматически добавлялось для целей отображения.
Каталоги вообще не имеют расширений. Вместо этого 3 байта для расширения были заполнены символами "$" (которые были недопустимы в реальных именах).
Поскольку Windows по-прежнему совместима с этим проводником, а многие другие компоненты Windows автоматически отключают завершающий период, чтобы предотвратить возникновение проблем совместимости.
Как уже говорили другие, вы можете обрабатывать такие папки, используя семантику RAW (префикс \\? \ Перед абсолютным именем пути).
За кулисами NTFS и сетевые файловые системы не имеют проблем с такими файлами и папками. Это всего лишь случай, когда Explorer пытается помешать пользователю создать что-то, что может вызвать проблемы для другого программного обеспечения.
(На самом деле есть и другие остатки:
имена файлов, такие как COM, COM1, COM2, AUX, PRN, LPT, LPT1, LPT2, LPT3, CON, могут вызывать аналогичные проблемы, когда Explorer и многие другие компоненты Windows запутываются потому что эти имена являются «зарезервированными» именами, которые также относятся к эпохе DOS.)
.
в Windows.