Когда Sun имел симпатичные логотипы на вершине их 1U серверы, коллега серьезно рассматривал покупку той и монтирование его на стене ("нижняя часть" сервера, смонтированного плоский на стене, повернутой, таким образом, это было похоже на ромб) как домашний сервер / арт-инсталляция. В конце он не сделал этого из-за шума вентилятора. Выглядел бы прохладным хотя =).
Поддержка файловой системы NTFS соединяет каналом приблизительно до 32 767 символов Unicode с каждым компонентом контура (каталог или имя файла) до 255 символов в длину. Но Windows Explorer и большинство других приложений Win32 только поддерживают 255 символов в пути.
Вы могли использовать robocopy, бесплатный инструмент от Microsoft, которая полностью поддерживает имена длинного тракта (дольше, чем 256 символов). Здесь документируется, как использовать robocopy, перечисляющий все переключатели и опции.
Вот выборка от статьи о MSDN, который объясняет почему много предельных траекторий программ 255 символам:
В Windows API (за некоторыми исключениями, обсужденными в следующих параграфах), максимальная длина для пути является MAX_PATH, который определяется как 260 символов. Локальный путь структурирован в следующем порядке: буква диска, двоеточие, обратная косая черта, компоненты, разделенные обратными косыми чертами и завершающимся нулевым символом. Например, максимальный путь на диске D
D:\some 256 character path string<NUL>где "" представляет невидимый нулевой символ завершения для кодовой страницы существующей системы. (Символы <> используются здесь для визуальной ясности и не могут быть частью допустимой строки пути.)
См. http://www.ratsauce.co.uk/notablog/LongFileNames.asp
это - одно из более глупых проектных решений в семействе Windows NT. Насколько я знаю, что нет никакого способа предотвратить пользователей, создающих длинные имена файлов.
МЛАДШИЙ
Я имел подобную проблему при автоматизации некоторой параметризованной чистки на группе и размещаю диски.
Я записал пользовательское приложение C#, чтобы сделать это, но обработать длинные имена файлов было необходимо использовать версию Unicode API Win32 а не обычную версию ASCII, которой упомянули выше ограничения. Это также означает снабжать префиксом строку пути \? \, если это отображается или \? \UNC\, если это через UNC.
Я могу дать Вам некоторые примеры кода или дальнейшую информацию, если Вы хотите.