Windows 7 Видалити структуру папок, що вкладаються [дублікат]


8

У мене був запущений сценарій вузла, який зіпсувався, і створив структуру папки так:

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

Я вважаю, що це вкладено в більш ніж 300 разів, якщо не більше.

Я не можу, delтому що це занадто довгий шлях до файлу.

Я не можу використовувати, robocopyоскільки він фактично замерзає навколо цієї точки:

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

Я не можу використовувати, FileAssassinяк мабуть, лише для файлів.

Я спробував використовувати скрипт .bat з цієї відповіді Як видалити папку, яка вкладена досить глибоко, і уникати "Ім'я файлу занадто довго"? , і вона все ще працює, але на рівні рекурсії я боюся, що папка знаходиться навіть у тому випадку, якщо кожна підпапка буде перейменована на один символ, вона все одно буде довшою, ніж 260 (або будь-яка межа).

Як видалити це problemз моєї файлової системи?

EDIT

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


Ви спробували видалити кореневу папку?
і31415

@ і31415 так. шлях до файлу занадто довгий, щоб вікна могли самостійно обробити його.
Арістідес

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

@ Андре, що може спрацювати, але це, мабуть, моя остання інстанція.
Арістідес

@Aristides Так, просто переконуюсь. Тепер було б цікаво дізнатися, що насправді створило проблему в першу чергу.
і31415

Відповіді:



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. Деякі інші інструменти, створені для вирішення тієї ж проблеми, не спрацювали. Тому я подумав, що повторна публікація сценарію може бути корисною для тих, хто натрапив на це. :)
Сквіш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.