Windows 7 Удалить сильно вложенную структуру папок [дубликат]


8

Я запустил скрипт узла, который вышел из строя и создал структуру папок примерно так:

\myfolder
    \myfolder
    \file.txt
        \myfolder
            \file.txt
                \myfolder
                \file.txt
                    \etc.

Я бы посчитал, что он вложен более чем в 300 раз, если не больше.

Я не могу, delпотому что это слишком длинный путь к файлу.

Я не могу использовать, robocopyпотому что это на самом деле зависает вокруг этой точки:

введите описание изображения здесь

Я не могу использовать, FileAssassinкак это только для файлов, по-видимому.

Я попытался использовать сценарий .bat из этого ответа. Как удалить папку, которая достаточно глубоко вложена и избегать "Имя файла слишком длинное"? и он все еще работает, но на уровне рекурсии я боюсь, что папка находится на том же уровне, даже если каждая подпапка была переименована в один символ, она все равно будет длиннее 260 (или любого другого ограничения).

Как мне удалить это problemиз моей файловой системы?

РЕДАКТИРОВАТЬ

DeepRemove успешно! Победа! 3421 уровень рекурсии. Джееш! Я буду более осторожен с nodejs (или любой программной модификацией файловой системы), esp. когда рекурсия задействована!


Вы пытались удалить корневую папку?
and31415

@ and31415 да. путь к файлу слишком длинный, чтобы окна могли обрабатывать его самостоятельно.
Аристидес

2
Может быть, кто-то найдет лучшее решение, но как насчет загрузки на GNU / Linux Live-CD, монтирования раздела Windows и просто rmустановки проблемного каталога? Я думаю, что ограничение пути к файлам в Linux намного длиннее, чем в Windows, поэтому оно может работать.

@ Андре, это может сработать, но, наверное, это мое последнее средство.
Аристидес

@ Аристидес Да, просто убедился. Теперь было бы интересно узнать, что на самом деле создало проблему в первую очередь.
and31415

Ответы:



1

Для потомков я делюсь решением SiloSix .

Он создал файл bat, чтобы перемещать структуру папок и удалять небольшие фрагменты одновременно. Это просто и красиво. (У меня также было несколько тысяч папок.)

Это сработало над моей проблемой менее чем за 2 минуты.

REM https://superuser.com/users/151251/silosix
D:

REM  CD deep into the problem directory...
cd D:\a\calculator.sikuli\calculator.sikuli\calculator.sikuli\calculator.sikuli

REM Move the rest of the problem dir to a temporary parent folder
move /-Y calculator.sikuli D:\b

REM CD to the temp folder
cd D:\b

REM delete the section of problem-dir above
rd /s/q D:\a\calculator.sikuli

REM Move the rest of problem-dir back to origin
move /-Y calculator.sikuli D:\a

REM Call the script until problem directory is gone!
call D:\remdirs2.bat

Теги REM - это просто комментарии, их можно оставлять или вынимать по своему усмотрению. (В случае, если следующий человек найдет это, не разбирается в написании сценариев с битами.)


Я думаю, что DeepRemove - более простое решение, особенно кто-то плохо разбирается в использовании командной строки.
Аристидес

2
@Aristides К тому времени, когда я наткнулся на это, моя проблема с каталогом была решена с помощью пакетного скрипта, поэтому я не смог протестировать DeepRemove. Некоторые другие инструменты, созданные для решения той же проблемы, не сработали. Поэтому я подумал, что повторная публикация сценария может быть полезной для всех, кто наткнулся на это. :)
Squish
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.