Wie lösche ich Dateien oder Ordner unter Windows von der Befehlszeile aus rekursiv?
Ich habe diese Lösung gefunden, bei der der Pfad auf der Befehlszeile angezeigt wird, 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")
Bitte führen Sie die folgenden Schritte aus:
Geben Sie den folgenden Befehl ein
del /S *.svn
Die anderen Antworten haben für mich nicht funktioniert, aber dies tat:
del /s /q *.svn
rmdir /s /q *.svn
/q deaktiviert die Aufforderung Ja/Nein
/s bedeutet die Datei (en) aus allen Unterverzeichnissen löschen.
Sie können dies im Skript bat
verwenden:
rd /s /q "c:\folder a"
Ändern Sie jetzt einfach c:\folder a
in den Ordner Ihres Ordners. Ein Angebot wird nur benötigt, wenn der Ordnername Leerzeichen enthält.
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. Durch die Kombination mit/Q wird der Ordner unbemerkt entfernt (z. B. RMDIR "C:\tmp" /S /Q
).
Zum Löschen von Dateien schrieb ich folgende einfache Batchdatei, die alle .pdf-Dateien rekursiv löschte:
del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"
Selbst 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, wenn nur del mit rmdir geändert werden muss.
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"
Sie könnten auch tun:
del /s /p *.{your extension here}
Der /p
fragt Sie nach jeder gefundenen Datei, wenn Sie etwas nicht löschen möchten.
Das heißt, rmdir/S/Q C:\Temp
Ich benutze auch die unten genannten seit einigen Jahren einwandfrei.
Überprüfen Sie andere Optionen mit:forfiles /?
SQM/Telemetrie im Windows-Ordner rekursiv löschen
forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"
Windows TMP-Dateien rekursiv löschen
forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"
Benutzer-TEMP-Dateien und Ordner rekursiv löschen
forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
Nach dem Blogbeitrag Wie kann ich mit Windows PowerShell alle .TMP-Dateien auf einem Laufwerk löschen? können Sie so etwas verwenden, um beispielsweise alle .tmp-Dateien aus einem Ordner und allen Unterordnern in PowerShell zu löschen:
get-childitem [your path/ or leave empty for current path] -include
*.tmp -recurse | foreach ($_) {remove-item $_.fullname}
Für versteckte Dateien musste ich folgendes verwenden:
DEL /S /Q /A:H Thumbs.db