Windows 7 Usuń mocno zagnieżdżoną strukturę folderów [duplikat]


8

Uruchomiłem skrypt węzła, który poszedł nie tak i utworzyłem strukturę folderów w następujący sposób:

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

Sądzę, że jest to zagnieżdżone w zakresie ponad 300 razy.

Nie mogę del, bo jest za długa ścieżka do pliku.

Nie mogę użyć, robocopyponieważ faktycznie zawiesza się wokół tego punktu:

wprowadź opis zdjęcia tutaj

Nie mogę używać, FileAssassinponieważ najwyraźniej dotyczy to tylko plików.

Próbowałem użyć skryptu .bat z tej odpowiedzi. Jak usunąć folder, który jest zagnieżdżony dość głęboko i uniknąć „Zbyt długiej nazwy pliku”? i nadal działa, ale obawiam się na poziomie rekurencji, że folder znajduje się w folderze, nawet jeśli nazwa każdego podfolderu zostanie zmieniona na jeden znak, nadal będzie on dłuższy niż 260 (lub jakikolwiek jest limit).

Jak mogę to usunąć problemz mojego systemu plików?

EDYTOWAĆ

DeepRemove jest udany! Zwycięstwo! 3421 poziomów rekurencji. Jeesh! Odtąd będę bardziej ostrożny z nodejs (lub jakąkolwiek programową modyfikacją systemu plików), szczególnie. gdy dochodzi do rekurencji!


Czy próbowałeś usunąć folder główny?
i31415

@ and31415 tak. ścieżka do pliku jest za długa, aby system Windows mógł sobie z tym poradzić.
Aristides

2
Może ktoś wymyśli lepsze rozwiązanie, ale co z uruchamianiem z Live-CD GNU / Linux, montowaniem partycji Windows i po prostu rmkatalogowaniem problematycznego katalogu? Myślę, że limit ścieżki pliku Linuksa jest znacznie dłuższy niż Windows, więc może działać.

@ André to może zadziałać, ale to chyba moja ostatnia deska ratunku.
Aristides

@Aristides Tak, tylko się upewniam. Teraz byłoby interesujące dowiedzieć się, co faktycznie stworzyło problem na pierwszym miejscu.
i31415

Odpowiedzi:



1

Dla potomnych dzielę się rozwiązaniem SiloSix .

Stworzył plik nietoperza, aby przesuwać strukturę folderów i usuwać jednocześnie małe fragmenty. To proste i piękne. (Miałem też kilka tysięcy folderów do załatwienia).

Pracowałem nad moim problemem w mniej niż 2 minuty.

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

Tagi REM to tylko komentarze, które można pozostawić lub usunąć, jeśli chcesz. (W przypadku, gdy następna osoba, która to znajdzie, nie zna się na skryptach nietoperzy).


Myślę, że DeepRemove jest łatwiejszym rozwiązaniem, szczególnie. ktoś niezbyt biegły w używaniu wiersza poleceń.
Aristides

2
@Aristides Zanim natknąłem się na ten problem, mój katalog został rozwiązany za pomocą skryptu wsadowego, więc nie byłem w stanie przetestować DeepRemove. Jednak niektóre inne narzędzia stworzone w celu rozwiązania tego samego problemu nie zadziałały. Pomyślałem więc, że ponowne opublikowanie skryptu może być korzystne dla każdego, kto natknie się na to. :)
Squish
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.