Löschen Sie Dateien oder Ordner rekursiv unter Windows CMD

135

Wie lösche ich Dateien oder Ordner unter Windows rekursiv über die Befehlszeile?

Ich habe diese Lösung gefunden, in der wir den Pfad über die Befehlszeile fahren und diesen Befehl ausführen.

Ich habe ein Beispiel mit einem .svn-Dateierweiterungsordner gegeben:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")
Modasser
quelle
Was meinst du mit "wohin wir fahren" ?
Peter Mortensen

Antworten:

129

Bitte führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Eingabeaufforderung
  2. Wechseln Sie in das gewünschte Verzeichnis
  3. Geben Sie den folgenden Befehl ein

    del /S *.svn
    
DGuntoju
quelle
4
Funktioniert bei mir nicht, löscht nur die Dateien im aktuellen Verzeichnis.
Delphirules
118

Die anderen Antworten haben bei mir nicht funktioniert, aber das hat funktioniert:

del /s /q *.svn
rmdir /s /q *.svn

/ q deaktiviert die Ja / Nein-Eingabeaufforderung

/ s bedeutet, dass die Datei (en) aus allen Unterverzeichnissen gelöscht werden.

Lucas
quelle
Ich denke, meine Anforderungen sind die gleichen wie die, die Sie versuchen - ich versuche, alle .svn-Ordner in einem Projektverzeichnis und alle Unterverzeichnisse zu löschen. Unter Windows 2012 funktioniert diese Antwort bei mir nicht. Es wird der Ordner .svn im aktuellen Verzeichnis gelöscht, jedoch nicht aus einem der untergeordneten Verzeichnisse.
Jim
42

Sie können dies im batSkript verwenden:

rd /s /q "c:\folder a"

Wechseln c:\folder aSie jetzt einfach zum Speicherort Ihres Ordners. Ein Zitat ist nur erforderlich, wenn Ihr Ordnername Leerzeichen enthält.

Sean Vaughn
quelle
Dieser Befehl funktioniert nicht und löst den folgenden Fehler aus : D: \> rd / s / q "D: \ Root a" Das System kann die angegebene Datei nicht finden.
Abhayk
5
Wenn Ihr Verzeichnis nicht wirklich einen space aNamen enthält, lassen Sie diesen Teil weg.
Jesse Chisholm
22
RMDIR path_to_folder /S

Ex. RMDIR "C:\tmp" /S

Beachten Sie, dass Sie gefragt werden, ob Sie den Ordner "C: \ tmp" wirklich löschen möchten. Wenn Sie es mit dem Schalter / Q kombinieren, wird der Ordner stillschweigend entfernt (z. B. RMDIR "C:\tmp" /S /Q).

Anton
quelle
8

Zum Löschen von Dateien habe ich folgende einfache Batch-Datei geschrieben, in der alle PDFs rekursiv gelöscht wurden:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

Sogar für das lokale Verzeichnis können wir es verwenden als:

del /s /q "C:\Project\*.pdf"

Dasselbe kann für das Löschen von Verzeichnissen angewendet werden, bei denen del nur mit rmdir geändert werden muss .

khichar.anil
quelle
4

Wenn Sie eine bestimmte Erweiterung rekursiv löschen möchten, verwenden Sie Folgendes:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
saleh ahmed
quelle
3

Sie könnten auch tun:

del /s /p *.{your extension here}

Das /pfordert Sie zu jeder gefundenen Datei auf, wenn Sie nervös sind, etwas zu löschen, das Sie nicht sollten.

Michael Armes
quelle
2

Verwenden Sie den Windows- Befehl rmdir

Das heißt, rmdir / S / Q C: \ Temp

Ich benutze auch die folgenden seit einigen Jahren einwandfrei.

Weitere Optionen finden Sie unter: forfiles /?

Löschen Sie SQM / Telemetrie im Windows-Ordner rekursiv

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Löschen Sie Windows-TMP-Dateien rekursiv

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

Löschen Sie Benutzer-TEMP-Dateien und -Ordner rekursiv

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
mjoao
quelle
2

Zum vollständigen Löschen eines Ordners mit nativen Befehlen und zum Abrufen eines Protokolls darüber, was getan wurde.

Hier ist eine ungewöhnliche Methode:

Nehmen wir an, wir möchten das Verzeichnis d: \ temp löschen

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
Max
quelle
Dies ist eine sehr clevere Lösung, die mein Problem gelöst hat. Ich habe Robocopy verwendet, um mein AppData-Verzeichnis zu kopieren, ohne an die selbstreferenzierende Junction zu denken. Nur so konnte ich alle versteckten Dateien rekursiv entfernen. Vergiss niemals das / xj!
Chris Larabell
0

Für versteckte Dateien musste ich folgendes verwenden:

DEL /S /Q /A:H Thumbs.db
Selrac
quelle
Veraltet. Windows XP wird von Microsoft Co. nicht lange unterstützt.
Mesalcode
Ich musste dies verwenden, um .dcm-Dateien zu löschen, die von einer Sicherungswiederherstellung (Windows 10) übrig geblieben waren
Gerald Murphy
0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
alexsupra
quelle