Windows 7 Stark verschachtelte Ordnerstruktur löschen [Duplikat]


8

Ich habe ein Knotenskript ausgeführt, das schief gelaufen ist und eine Ordnerstruktur wie folgt erstellt hat:

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

Dies ist mehr als 300 Mal verschachtelt, würde ich schätzen, wenn nicht mehr.

Ich kann es nicht del, weil es ein zu langer Dateipfad ist.

Ich kann es nicht verwenden, robocopyda es um diesen Punkt herum tatsächlich einfriert:

Geben Sie hier die Bildbeschreibung ein

Ich kann es nicht verwenden, FileAssassinda es anscheinend nur für Dateien ist.

Ich habe versucht, das .bat-Skript aus dieser Antwort zu verwenden. Wie lösche ich einen Ordner, der ziemlich tief verschachtelt ist, und vermeide "Dateiname zu lang"? , und es läuft immer noch, aber ich befürchte auf der Ebene der Rekursion, dass sich der Ordner befindet, selbst wenn jeder einzelne Unterordner in ein Zeichen umbenannt würde, wäre er immer noch länger als 260 (oder was auch immer das Limit ist).

Wie entferne ich das problemaus meinem Dateisystem?

BEARBEITEN

DeepRemove ist erfolgreich! Sieg! 3.421 Rekursionsstufen. Jeesh! Ich werde von nun an vorsichtiger mit NodeJS (oder jeder programmatischen Änderung des Dateisystems) sein, insb. wenn es um Rekursion geht!


Haben Sie versucht, den Stammordner zu löschen?
and31415

@ and31415 ja. Der Dateipfad ist zu lang, als dass Windows ihn selbst verarbeiten könnte.
Aristides

2
Vielleicht hat jemand eine bessere Lösung gefunden, aber was ist mit dem Booten auf einer GNU / Linux Live-CD, dem Mounten der Windows-Partition und rmdem problematischen Verzeichnis? Ich denke, dass das Dateipfadlimit von Linux viel länger ist als das von Windows, so dass es möglicherweise funktioniert.

@ André das könnte funktionieren, aber es ist wahrscheinlich mein letzter Ausweg.
Aristides

@ Aristides Ja, nur um sicher zu gehen. Jetzt wäre es interessant zu wissen, was das Problem überhaupt verursacht hat.
and31415

Antworten:



1

Für die Nachwelt teile ich die Lösung von SiloSix .

Er erstellte eine Fledermausdatei, um die Ordnerstruktur zu verschieben und jeweils kleine Teile zu löschen. Es ist einfach und schön. (Ich hatte auch mehrere tausend Ordner zu bearbeiten.)

Es hat mein Problem in weniger als 2 Minuten gelöst.

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

Die REM-Tags sind nur Kommentare. Sie können nach Belieben ein- oder ausgeblendet werden. (Falls die nächste Person, die dies findet, sich nicht mit Fledermaus-Skripten auskennt.)


Ich denke, dass DeepRemove eine einfachere Lösung ist, insb. Jemand, der sich mit der Verwendung der Befehlszeile nicht auskennt.
Aristides

2
@Aristides Als ich darauf gestoßen bin, wurde mein Verzeichnisproblem mithilfe des Batch-Skripts behoben, sodass ich DeepRemove nicht testen konnte. Einige andere Tools, die zur Lösung des gleichen Problems entwickelt wurden, funktionierten jedoch nicht. Daher dachte ich, dass ein erneutes Posten des Skripts für jeden von Vorteil sein könnte, der darüber gestolpert ist. :)
Squish
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.