Как создать каталоги в windows с длиной пути больше 256
У меня есть несколько уровней каталогов в пути к папке. когда путь превышает 256, я не могу создать подпапку или файл из него. Есть ли шанс построить пути больше, чем эта длина. Кто-нибудь может мне помочь.
3 ответов
фактически ограничение на строки пути составляет 260 символов. В наши дни базовая ОС может поддерживать гораздо более длинные имена путей,до 32 767 символов. Чтобы назвать путь с длинным именем, вам нужно использовать magic \?\
префикс и используйте версию API в Юникоде.
однако, многие инструменты не поддерживает такие длинные имена. Классическим примером такого инструмента является Explorer, который не позволяет создавать объекты с именами длиннее 260 символов. Потому что я настоятельно советую вам избегать создания таких длинных имен-это избавит вас от многих страданий в долгосрочной перспективе.
Это должно заставить вас начать:http://msdn.microsoft.com/en-us/library/aa365247%28v=vs.85%29.aspx#maxpath
кроме того, если у вас есть доступ к robocopy
(поставляется в комплекте с Windows Vista и 7, но также доступен для XP), который поддерживает длинные пути, вы можете создавать свои файлы / подпапки в более высокая папка, а затем используйте robocopy для перемещения вложенной папки в нужное место глубже в дереве папок.
согласно документации здесь http://msdn.microsoft.com/en-us/library/Aa365247, максимальная длина на самом деле около 32,000, но большинство API windows по-прежнему ограничивают вас MAX_PATH
что составляет 260. Есть некоторые API unicode, которые позволяют вам выйти за пределы 260.
смотрите здесь,http://msdn.microsoft.com/en-us/library/aa363856.
в версии ANSI этой функции имя ограничено символами MAX_PATH. К расширьте это ограничение до 32 767 широких символов, вызовите версию функции Unicode и добавьте
\?\
на пути. Дополнительные сведения см. В разделе именование файла.