6

Когда я копировал структуру каталогов в новое место, где имя целевой папки было немного длиннее исходного, я обнаружил следующую ошибку, указывающую, что имя файла было слишком длинным.

Интересно то, что я затем использовал приложение Beyond Compare от Scooter Software, чтобы сравнить исходную папку с целевой папкой, чтобы определить файлы, которые не удалось скопировать. Я был удивлен, обнаружив, что BC удалось скопировать файлы в целевую папку, поэтому обе папки соответствовали 100%.

Я думаю, что имя файла было 258 символов. Ранее, основываясь на сообщениях об ошибках, которые я, вероятно, видел в проводнике Windows, я думал, что Windows имеет ограничение в 255 символов для имен файлов, включая путь. Поскольку я смог скопировать следующее имя файла из 258 символов с помощью Beyond Compare, похоже, это не так.

Есть ли ограничение длины имени файла Windows? Почему максимальная длина Windows Exploere 255?

Мне кажется, что ограничение "имя слишком длинное" было

C:\Expand\tfs2010\Healthcare-Finance_IT\Main\MLR Rebates Web Services\Load_MLR_REBATE_IBOR_INFO\Load_MLR_REBATE_IBOR_INFO\Service References\IborServiceReference\Load_MLR_REBATE_IBOR_INFO.IborServiceReference.locateProfileBySourceSystemIdResponse.datasource

1 ответ1

4

Базовая файловая система Windows, NTFS, является гораздо более гибкой, чем это делает устаревшая подсистема Win32 (win32k.sys). При непосредственном доступе к NTFS и обходе оболочки Windows появляется множество интересных возможностей, например, наличие файлов в одном каталоге, имена которых отличаются только регистром (например, C:\Users\hi vs. C:\Users\HI). Ограничения длины пути к файлам - это еще одно из этих устаревших ограничений, которое восходит к Windows 95 или более ранним версиям (возможно, даже DOS). Beyond Compare, по-видимому, обходит Windows Shell, что очень разумно сделать для надежной программы копирования файлов.

Смотрите здесь для официального ответа Microsoft.

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