Когда я копировал структуру каталогов в новое место, где имя целевой папки было немного длиннее исходного, я обнаружил следующую ошибку, указывающую, что имя файла было слишком длинным.
Интересно, что затем я использовал приложение 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
Ответы:
Базовая файловая система Windows, NTFS, является гораздо более гибкой, чем это делает устаревшая подсистема Win32 (win32k.sys). При непосредственном доступе к NTFS и обходе оболочки Windows появляется множество интересных возможностей, например, наличие файлов в одном каталоге, имена которых отличаются только регистром (например, C: \ Users \ hi vs. C: \ Users \ HI). Ограничения длины пути к файлу являются еще одним из этих устаревших ограничений, которые относятся к Windows 95 или более ранней версии (возможно, даже DOS). Beyond Compare, по-видимому, обходит Windows Shell, что очень разумно сделать для надежной программы копирования файлов.
Смотрите здесь для официального ответа Microsoft.
источник
\\?\C:\Users
например, работает безупречно, даже в Win7-WindowsExplorer.\\?\
на передний план, вы не сможете получить к нему доступ в Проводнике.