13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
1

Как удалить папку с очень длинным названием?

14.07.2011, 13:40. Показов 22992. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всех приветствую!
Ребята, подскажите. Возникла такая проблема. На диске Д была создана папка с очень длинным именем - близким к MAX_PATH. Путь к этой папке (без её имени), соответственно, короткий: "D:\". Затем, эту папку заархивировали в архив RAR. А потом разархивировали. Так вот, как известно, архиватор RAR, первоначально, выполняет распаковку во временную папку, указанную в переменной окружения TEMP. И путь к этой временной папке уже достаточно длинный: "C:\Documents and Settings\...". В результате, длина пути распакованной папки оказалась больше, чем MAX_PATH. И теперь эту папку не получается удалить - пишет, что нет доступа. Вообще, в подобных ситуациях я просто переименовывал файл или папку - записывал короткое имя в один символ и проблема решалась. Но в этом случае, видимо, путь совсем уж длинный получился и нет возможности даже переименовать папку! Как всё-таки удалить такую папку?

Система: Win XP Pro Rus SP3.
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2011, 13:40
Ответы с готовыми решениями:

Сохранение листа книги в новый файл с определенным названием в новую папку с таким же названием в определенной папке
Привет всем профи и любителям! Прошу помочь с написанием макроса. Имеется книга с 2 листами....

Как создать папку с названием на кириллице, но с путем на латинице?
Например, папка "Пользователи" имеет путь "С:/Users".

Как создавать папку с названием bat файлом (слово + увеличивающийся индекс)?
Облазил много форумов и не где нету ответов, помогите пожалуйста. Добавлено через 56 минут

Как создать новую папку в Visual basic 6.0 , и названием папки указать переменное значение Label?
Здравствуйте, подскажите, пожалуйста! Как создать новую папку с помощью Visual basic 6.0 , и...

9
Заводчанин.
1707 / 417 / 26
Регистрация: 31.08.2010
Сообщений: 2,302
14.07.2011, 13:43 2
Лучший ответ Сообщение было отмечено как решение

Решение

копипаст =)
Один раз у меня получилось так, что при восстановлении удаленных файлов у меня создалась на диске папка с путём превышающим 255 символов. Это ограничение файловой системы: путь не должен превышать более 255 символов или глубина пути файла больше 128 папок. И поэтому эта папка и файлы в ней никак не хотели удаляться. Решение пришло в голову не сразу, но всё-таки пришло, я решил подключить часть пути папки как виртуальный диск, через команду subst (для тех кто не знает как ей пользоваться: Пуск — Выполнить — subst /?) тем самым укоротив путь к конечной папке. Зашел в подключенный диск и удалил неудаляемую папку, всё получилось. То есть было примерно так:

Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_влож енной_папки_4\...
Я подключил вложенную папку 3 как виртуальный диск
subst x: Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\

Сегодня вот еще нашел решения данной проблемы на support.microsoft.com:

Решение 2. Переименование или изменение длины имени папки
Переименуйте папку, чтобы длина пути конечных файлов не превышала значение MAX_PATH. Начните этот процесс с корневой папки (или с другого удобного места) и переименуйте папки, укорачивая их имена. Если это не решит проблему (например, если глубина пути файла составляет более 128 папок), перейдите к решению 4.
Решение 3.Подключение диска к папке в структуре пути
Подключите диск к папке, входящей в структуру пути к целевому файлу или папке. Этот метод укорачивает виртуальный путь.

В качестве примера рассмотрим путь со следующей структурой:
\\имя_сервера\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\ имя_вложенной_папки_4\...
В этом пути общее количество символов превышает 255. Чтобы уменьшить его длину до 73 символов, подключите диск к вложенной папке 4.
Решение 4. Использование общего сетевого каталога, глубина которого равна глубине папки
Если решения 1, 2 и 3 не подходят или не устраняют проблему, создайте сетевой каталог с максимально возможной глубиной в дереве папок и затем переименуйте папки, открыв каталог.
8
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
14.07.2011, 13:50  [ТС] 3
Благодарю! Папку удалил с помощью способа с подключением сетевого диска.
1
asavatar
20.07.2011, 01:23 4
если подключение сетевого диска не поможет в следующий раз (когда множество вложенных папок все равно составляют тот самый "слишком длинный путь"), можно попробовать (немного корявую мою программу Длиннопут:http://www.box.net/shared/82iurbz81p99agoi0jtj
или
http://dl.dropbox.com/u/357350... _setup.zip
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
20.07.2011, 19:55 5
Код
rd "\\?\x:\looooongFullPath"
Аналогично с del и всем, что основано на юникодовых winapi функциях.

Не по теме:

Всегда нравилось прикалываться с зарезервированными именами (com1, lpt1), длинными именами и именами, кончающимися на точку. Или всем вместе.

0
3 / 3 / 0
Регистрация: 26.06.2015
Сообщений: 14
27.07.2015, 11:42 6
Удаляйте с зажатым SHIFT. Я удалил в Total Commander, нажав SHIFT + DEL
2
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28045 / 15778 / 982
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
27.07.2015, 11:53 7
GadgetX, обращайте внимание на даты последних ответов.
ответ спустя 4 года выглядит немного нелепо.
0
3 / 3 / 0
Регистрация: 26.06.2015
Сообщений: 14
27.07.2015, 11:58 8
И что? Хоть 100 лет пусть пройдет, если я столкнулся с такой проблемой и нашел в гугле эту страничку первой, мне запрещено отвечать на вопрос??? Или модерировать больше нечего, кроме моего ответа?
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
28045 / 15778 / 982
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
27.07.2015, 12:14 9
ваш ответ кто то модерировал?
0
3 / 3 / 0
Регистрация: 26.06.2015
Сообщений: 14
27.07.2015, 12:19 10
Ладно, проехали) Ответ-то дельный, сам минут 10 мучался...
1
27.07.2015, 12:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2015, 12:19
Помогаю со студенческими работами здесь

Создать папку с названием текущей даты +1 с подпапкой внутри
Здравствуйте! Необходимо создать папку с текущей датой плюс 1 про запуске батника. Т.е. Если...

Как создать новый объект добавить в другой и не удалить старый с таким же названием?
Как создать новый объект добавить в другой и не удалить старый с таким же названием? Строка 23 я...

Вирус, который создает на флешке скрытую папку под названием 5f5f5
Появился у меня вирус, который создает на флешке скрытую папку под названием 5f5f5. Кто знает, что...

Как удалить папку?
Подскажите как удалить папку. std::remove("d:\\test"); - не работает

как удалить папку?
в написаной програмке при нажатии на кнопку удаляются файлы из списка __fastcall...

Как удалить папку ...?
как удалить , папку со старыми данными, хочу поставить касперски, а старый McAfee не дает, нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru