![]() |
|
Модераторы: bartram, Akella |
![]()
|
|
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Имеется файл на флэшке (или в zip архиве) полный путь которого при копировании (извлечении из архива) получается больше 255 символов. Пытаюсь его скопировать с флэшки, но не получается и выдает ошибку:
![]() Просто скопировать файл с флэшки в корень диска можно. Но даже потом из корня перенести в нужную директорию не дает. Единственный способ, который я нашел: создание аналогичной структуры дерева директорий, но с короткими именами, переименование директорий и файлов. При этом все вроде как начинает работать. Только вот такое дерево больше никуда не копируется. Подскажите, почему так происходит? Ограничения win32 API? Нельзя ли обойти как-то это и по нормальному копировать? Присоединённый файл ( Кол-во скачиваний: 13 )
aaaaaa.zip 3,32 Kb |
|||
|
||||
| Olegan |
|
|||
![]() Крутой сисадмин ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 752 Регистрация: 15.5.2007 Репутация: 11 Всего: 105 |
хм...
у меня все нормально копируется и работается... |
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Мне нужно не просто вытащить сам файл из архива, а вместе со всем деревом директорий. У вас именно это получилось? Какой программой пользовались? У меня 7z выдает ошибку, а встроенный в explorer просто молча не извлекает файл... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
На какую файловую систему извлекаете? Под какой версией ОС?
PS. У меня тоже никаких проблем не возникло. Более того - я извлекал это все в каталог, полное имя которого само по себе порядка 150 символов. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Дома ноутбук с WinXP Home Edition SP2, файловая система ntfs (сконвертированная из fat32 через convert). На работе win2k с изначально отформатированной в ntfs файловой системой, там аналогичная проблема. "это все" - с полным путем? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
Да. См. аттач. PS. Для NTFS ограничение длины пути составляет 260 символов. Присоединённый файл ( Кол-во скачиваний: 16 )
1.gif 7,64 Kb-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| kamre |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: нет Всего: 13 |
Да, действительно, в корень D:\ и в D:\Backup извлекается это. Что-то у меня перепуталось и я куда-то глубже пытался положить.
Но, к сожалению, это еще не самый длинный путь, который нужен. Даже в корень не удается распаковать весь архив, есть файлы с длиной пути больше 260. Неужели это ограничение нельзя обойти? Причем, если даже запихать с переименованием, то потом все равно не читаются файлы... Вроде бы в википедии написано, что "Maximum path length: An absolute path may be up to 32767 characters long; a relative path is limited to 255 characters." |
|||
|
||||
| FullArcticFox |
|
|||
![]() песец Профиль Группа: Участник Сообщений: 34 Регистрация: 28.5.2008 Где: Питер Репутация: 2 Всего: 2 |
Не правильно! Теоретически длина пути неограничена. Практически - MAX_PATH=260 символов, что и используется при написании программ. Но! Это можно обойти используя префикс \\?\ посему пользуя командную строку можно сделать так: cp \\?\C:\big_path c:\where |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 42 Всего: 454 |
Если точно - длина пути в файловой системе NTFS ограничена величиной 32 кб, а вот на нее накладывается дополнительное ограничение операционной системы. и остается 260 байт. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Windows" | |
|
|
Запрещается! 1. Обсуждать взлом и делиться кряками 2. Способствовать созданию и распространению вирусов
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Windows | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |