Frage Wie man Verzeichnis von der Befehlszeile in den Fenstern rekursiv löscht?


Was ist das Windows-Äquivalent von? rm -r [directory-name]?


212
2017-08-23 19:29


Ursprung




Antworten:


deltree wenn ich mich an mein DOS erinnere.


Es scheint, dass es aktualisiert wurde ... das ist was du willst:

RMDIR /S

Dies entfernt das Verzeichnis C:\testmit Aufforderungen:

rmdir c:\test /s

Dies gilt auch ohne Aufforderungen:

rmdir c:\test /s /q

Wenn Sie für den sudo-Teil Ihrer Frage mehr Privilegien benötigen, können Sie zuerst eine neue Shell als einen anderen Benutzeraccount öffnen, indem Sie die runas Befehl, so:

runas /user:Administrator cmd
rmdir c:\test /s /q

311
2017-08-23 19:30



@ FarmBoy, Entschuldigung, es scheint, meine Erinnerungen gehen viel zu weit zurück. Ich habe die Antwort für Windows XP und neuer aktualisiert. - Colin Pickard
Ja deltree ist ein alter DOS-Befehl. Es wurde in XP entfernt und durch ersetzt rmdir /s - heavyd
Wofür steht die / s-Flagge? - Mike R
Aus irgendeinem Grund gibt es ein Problem, wenn Sie dies in Powershell tun. Also benutze die Befehlszeile von Windows. - Devid
@MikeR, könnte es für "Unterverzeichnisse" oder so etwas stehen. findstr hat den gleichen Parameter, was es sinnvoller macht, also vielleicht sind sie für Konsistenz gleich. - Sam


Wenn Sie eine lange und komplizierte Ordnerstruktur von der Eingabeaufforderung löschen möchten, die RmDir nicht berührt und nicht einmal Explorer anzeigen kann, habe ich festgestellt, dass Robocopy sehr effizient beim Entfernen der Struktur sein kann. Im Beispiel unten haben wir eine massive Struktur innerhalb des Ordner-Administrators, die Struktur ist so tief, dass nichts sie entfernen kann. Wir erstellen einen neuen leeren Ordner namens (seltsam genug!) "Neuer Ordner". Dann verwenden wir den Befehl robocopy, der besagt, dass der Quellordner "Neuer Ordner" und der Zielordner "D: \ Administrator" mit dem Parameter / MIR lautet, was bedeutet, dass alles gelöscht wird, was sich nicht im Quellordner befindet.

robocopy "D:\new folder" D:\Administrator /MIR

In diesem Fall waren die Ordnerpfade so lang, dass sie nicht einmal in das Befehlszeilenfenster Screen Buffer passen würden, aber Robocopy durchläuft die Struktur und entfernt alle "zusätzlichen" Dateien und Ordner (dh alles, was nicht im neuen leeren Ordner ist ).


54
2017-08-09 23:13



Dies ist die einzige Lösung, die funktioniert, wenn Ihr Pfad mehr als 250 Zeichen lang ist - Calm Storm


Sie können in PowerShell Folgendes tun, wenn Sie Windows Vista + verwenden:

rm C:\path\to\delete -r -f[orce]

9
2017-08-22 16:51



Windows 10 sagt -f ist nicht eindeutig. Aber du kannst rennen rm -r -force <path> - BrunoLM


Für mich ist was funktioniert

del /s dir

Du kannst hinzufügen /q um die Bestätigung zu deaktivieren. Ich habe es nie geschafft rmdir Arbeiten (auf XP)


4
2018-05-17 07:42



Sie sollten wahrscheinlich aufhören, XP zu benutzen, es wird nicht mehr unterstützt ... - Eric Wilson
Für mich entfernt dies alle Dateien rekursiv, löscht aber nicht die Verzeichnisse selbst - dirwird auch nicht entfernt. - sergiol


Wenn Sie einen wirklich sehr langen Pfad haben (wie ich es wegen Java-Programmfehlern getan habe), kann selbst Robocopy das nicht tun. Es ging ungefähr 30 Sekunden in meinen Weg und hing dann.

Meine Lösung: Wenn Sie den gesamten Problempfad von einem Ordner zu einem anderen verschieben können, können Sie rekursiv und wiederholt einige Verzeichnis-Treppen von oben abschneiden.

Dieser Batch spielt Pingpong zwischen den beiden Verzeichnissen leer und leer2 und schneidet 8 'Bibliotheken' ab 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

2
2018-03-05 08:37





Von CMD Führen Sie einfach RD / s C: \ Pfad \ zum Löschen aus Drücke Y, um zur Eingabeaufforderung zu gelangen

/ s stellt sicher, dass alle Unterverzeichnisse ebenfalls gelöscht werden.

Referenz Lauf hilf RD von der Befehlszeile aus


2
2018-01-22 06:44



Danke für deine Antwort, aber diese Information war bereits in der akzeptierten Antwort. (rd und rmdir sind die gleichen.) Vielleicht würde es dort als Kommentar passen. - Ben N


Dadurch wird "mein Ordner" ohne Eingabeaufforderung gelöscht:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"

0
2017-07-04 07:09