Длина пути достаточна для диска D:, но слишком длинна для диска C: с NTFS?

Длина пути достаточна для диска D:, но слишком длинна для диска C: с NTFS?

У меня есть папка с большим количеством файлов на D:\dev\tools\eclipse. Я решил переместить ее на свой C:диск (по тому же пути) для скорости, так как C:это SSD.

Функция перетаскивания отказывается копировать 4 файла с очень длинными именами, ссылаясь на то, что они слишком длинные.

  • Операционная система — Windows 7 Pro X64.
  • C:это SSD на 250 ГБ
  • D:находится на аппаратной RAID-карте LSI 9260 с 3 дисками по 2 ТБ, сконфигурированными как RAID-5 (эффективная емкость 3,6 ТБ)
  • Оба C:отформатированы D:в NTFS.

Почему одинаковая длина пути допустима на RAID-диске, но не на SSD?

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Если я использую пункт контекстного меню «Копировать как путь» (Shift-щелчок правой кнопкой мыши) для файла, он D:копирует путь, в котором элементы пути длиной более 8 символов заменяются короткими именами 8.3, тогда как в C:он использует полные имена.

Однако fsutilпоказывает, что на обоих дисках включены имена 8.3

C:\Windows\system32>fsutil 8dot3name query c:
The volume state for Disable8dot3 is 0 (8dot3 name creation is enabled).
The registry state of NtfsDisable8dot3NameCreation is 2, the default (Volume level setting).
Based on the above two settings, 8dot3 name creation is enabled on c:.

C:\Windows\system32>fsutil 8dot3name query d:
The volume state for Disable8dot3 is 0 (8dot3 name creation is enabled).
The registry state of NtfsDisable8dot3NameCreation is 2, the default (Volume level setting).
Based on the above two settings, 8dot3 name creation is enabled on d:.

Они настроены идентично, поэтому остается вопрос, почему Windows использует имена 8.3 в одном случае, но не в другом.

решение1

Максимальная длина пути к файлу в NTFS составляет 32 767 символов/байт.

ЕгоAPI Windows, имеющий ограничение в 260 символов(256 символов для пути, плюс 4 символа для буквы диска, двоеточие, косая черта и завершающий EOL/NUL), и поэтому системная утилита, которую вы (скорее всего) используете для копирования файлов, использует именно эту длину, и именно это дает сбой.

Для получения рекомендаций о том, как успешно скопировать длинный путь к файлу в Windows, ознакомьтесь с этим существующим вопросом SU:

Связанный контент