Was ist das Windows-Äquivalent von "rm -r [Verzeichnisname]"?
deltree
, wenn ich mich an mein DOS erinnere.
Es scheint, dass es aktualisiert wurde... das ist, was Sie wollen:
Dies entfernt das Verzeichnis C:\test
, mit Aufforderungen :
rmdir c:\test /s
Dies macht das Gleiche, ohne Eingabeaufforderung:
rmdir c:\test /s /q
Was den sudo-Teil Ihrer Frage betrifft, so können Sie, wenn Sie mehr Privilegien benötigen, zunächst eine neue Shell als ein anderes Benutzerkonto mit dem Befehl runas
öffnen, etwa so:
runas /user:Administrator cmd
rmdir c:\test /s /q
Wenn Sie eine lange und komplizierte Ordnerstruktur von der Eingabeaufforderung aus löschen wollen, die RmDir nicht berührt und die nicht einmal der Explorer anzeigen kann, habe ich festgestellt, dass robocopy sehr effizient beim Entfernen der Struktur sein kann. Im folgenden Beispiel haben wir eine massive Struktur innerhalb des Ordners administrator, die Struktur ist so tief, dass nichts sie entfernen kann. Wir erstellen einen neuen leeren Ordner mit dem Namen (seltsamerweise!) "neuer Ordner". Dann verwenden wir den robocopy-Befehl und teilen ihm mit, dass der Quellordner "new folder" und der Zielordner "D:\Administrator" ist, mit dem Parameter /MIR, was bedeutet, dass alles, was nicht im Quellordner ist, gelöscht wird.
robocopy "D:\new folder" D:\Administrator /MIR
In diesem Fall waren die Ordnerpfade so lang, dass sie nicht einmal in das Eingabeaufforderungsfenster Screen Buffer passten, aber Robocopy durchläuft die Struktur und entfernt alle "zusätzlichen" Dateien und Ordner (d. h. alles, was sich nicht im neuen leeren Ordner befindet, was alles ist).
Wenn der Pfad wirklich sehr lang ist (wie bei mir aufgrund eines Java-Programmfehlers), schafft es selbst robocopy nicht. Es stieg für etwa 30 Sekunden in meinen Pfad hinab und blieb dann hängen.
Meine Lösung: wenn man den ganzen Problem-Pfad von einem Ordner in einen anderen verschieben kann, dann kann man immer wieder ein paar Verzeichnis-Treppen von oben wegschneiden.
Dieser Batch spielt Pingpong zwischen den beiden Verzeichnissen leer und leer2 und schneidet jeweils 8 'libraries' jedes Mal. Wenn Ihr Pfad Dateien enthält, müssen Sie weitere Befehle hinzufügen, um sie zu löschen.
recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop