Как удалить неудаляемую папку в Windows XP
В очередной раз наткнулся на неудаляемую папку, в очередной раз забыл чего с этим делом делать...
Оказалось проблема была в слишком длинном пути, длинна всех папок и подпапок была больше 255 символов, как потом оказалось дело еще и во вложенности папок, их допускается максимум 128, это кстати ограничение файловой системы.
Решение: Заходим в самую последнюю папку в которую дает зайти и выполняем Subst X: C:\путь_к_очень_длинной_папке\и_ее_подпапкам тем самым подключая оставшуюся часть пути как виртуальный диск X: тем самым укорачивая путь. Потом заходим на диск X: и удаляем все части папки находящиеся ниже той что мы подключили.
То есть было примерно так:
Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_вложенной_папки_4\…
Подключил вложенную папку 4 как виртуальный диск
subst x: Диск:\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_вложенной_папки_4\
После удаления папки не забываем отменить действие команды Subst. Выполняем Subst с ключем /D - Subst /D
Как всегда надо было не изобретать велосипед, а "читать прилагаемую документацию".... у Микрософта все это уже описано:
Решение 2. Переименование или изменение длины имени папки
Переименуйте папку, чтобы длина пути конечных файлов не превышала значение MAX_PATH. Начните этот процесс с корневой папки (или с другого удобного места) и переименуйте папки, укорачивая их имена. Если это не решит проблему (например, если глубина пути файла составляет более 128 папок), перейдите к решению 4.
Решение 3.Подключение диска к папке в структуре пути
Подключите диск к папке, входящей в структуру пути к целевому файлу или папке. Этот метод укорачивает виртуальный путь.
В качестве примера рассмотрим путь со следующей структурой:
\\имя_сервера\имя_вложенной_папки_1\имя_вложенной_папки_2\имя_вложенной_папки_3\имя_вложенной_папки_4\…
В этом пути общее количество символов превышает 255. Чтобы уменьшить его длину до 73 символов, подключите диск к вложенной папке 4.
Решение 4. Использование общего сетевого каталога, глубина которого равна глубине папки
Если решения 1, 2 и 3 не подходят или не устраняют проблему, создайте сетевой каталог с максимально возможной глубиной в дереве папок и затем переименуйте папки, открыв каталог.
А вобще в первоисточнике описаны почти все возможные пляски с бубном по удалению подобных папок и неудаляемых файлов, типа prn, lpt1, сon.
Комментарии
1 комментарийМоя проблема.
Не могу назвать папку с количеством символов более 38 (на одном компьютере). Очень нужно! Как быть?