Найти в Дзене
Блуждающий админ

Длинные имена файлов. Невозможно скопировать или удалить файл.

Для начал разберем, что из чего состоит имя файла.

Из Википедии:
Имя файла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС).
Структура имен файлов
Структура имен файлов

Полное имя файла может состоять из:

- Протокола доступа к файлу (красное выделение) - по какому протоколу операционная система будет обращаться к файлу
-
Имя или адрес хоста (синее) - если доступ к файлу осуществляется по сети
-
Устройство или ФС (файловая система) в *nix системах (зеленое) - если файл расположен на локальной машине
-
Путь к файлу или каталог (директория) (оранжевое) - это привычные для нас папки
-
Имя файла (сиреневое) с расширением (серое) - собственно имя файла, расширение может отсутствовать

Так когда же ОС будет выдавать ошибку?

Та самая ошибка
Та самая ошибка

В Windows (файловая система NTFS) максимальная длина имени файла при работе из командной строки ограничивается 255 символами. В проводнике мне удалось создать файл полным именем в 502 символа с использованием кириллицы.

Для разных файловых систем существуют различные ограничения:

NTFS: 255 символов в кодировке UTF-16
FAT32: 255 символов при использовании формата 8.3 (PRORGA~1)
ext3/ext4: 255 байт (длина в символах зависит от кодировки)
zFS: 255 байт (UTF-8)

Указанные выше ограничения взяты из Википедии. Из личного опыта: на ext3 имена латиницей упирались в 254 символа, а с использованием кириллицы в 128.

Надеюсь данная информация поможет вам.
Лучшая благодарность от вас - это лайки, подписки и комментарии.

Спасибо!