Ich muss einen Befehl in einer .bat-Datei schreiben, die alle Ordner rekursiv löscht, die mit einer bestimmten Zeichenfolge beginnen. Wie kann ich das erreichen?Alle Ordner rekursiv löschen, die mit
Antwort
ist dies die vollständige Antwort, die Sie suchen:
FOR /D /R %%X IN (certain_string*) DO RD /S /Q "%%X"
wo offensichtlich müssen Sie certain_string
mit der ersetzen string Ihre Ordner beginnen mit.
Löscht RECURSIVELY wie Sie gefragt (ich meine, es geht durch alle Ordner und Unterordner).
Unvollendet, denke ich. Wenn Sie bedeutete „Recursively eine Verzeichnishierarchie nach unten gehen, um alle Ordner zu löschen, mit einer bestimmten Zeichenfolge beginnen“, dann kann die folgende genügen:
for /f "delims=" %%x in ('dir /b /ad abc*') do rd /s /q "%%x"
Dies wird der Verzeichnisbaum rekursiv in, finden Sie alle Ordner mit „abc“ ab , iteriere über diese Liste und entferne jeden Ordner.
Vielleicht müssen Sie eine if exist
um die rd
wickeln, abhängig von der Reihenfolge, in der Verzeichnisse gefunden und zurückgegeben werden. In der Regel über etwas Iterieren und es zugleich ist selten eine gute Idee zu ändern, aber manchmal funktioniert es :-)
Rössel: Hat das funktioniert? Es funktioniert nicht beim Versuch, Verzeichnisse zu löschen, die mit ".delme" enden. Ich habe Ihren Vorschlag folgendermaßen versucht: for/f "delims =" %% x in ('dir/b/ad * .delme') do rd/s/q "%% x" Aber es scheint nicht zu funktionieren. –
@Marco: Keine Notwendigkeit zu schreien. Stellen Sie im Zweifelsfall eine neue Frage und erzählen Sie Ihre Probleme klar und detailliert. Etwas wie »funktioniert nicht« ist normalerweise ein schlechter Bericht. – Joey
Rossel: schrie nicht, ich schrieb nur Großbuchstaben. Ich werde dann eine neue Frage stellen. –
Wie wäre:
for /d %a in (certain_string*) do rd /s %a
Dieser von der Eingabeaufforderung arbeiten. Innerhalb einer Batch-Datei, würden Sie die %
s zu verdoppeln haben, wie üblich:
@echo off
for /d %%a in (certain_string*) do rd /s %%a
Autsch. Ich brauche mehr Schlaf ... oder Tee ... * (Hits Kopf auf den Tisch) * – Joey
Hmm, obwohl das wahrscheinlich nicht in den Verzeichnisbaum rekurrieren und tiefere Ordner finden, die den Kriterien entsprechen, richtig? (Meine Lösungen tun das auch nicht, aber ich habe gerade gemerkt, dass das das OP bedeutet). – Joey
Ich musste dies ein bisschen von meinem ursprünglichen einfachen Versuch erweitern, weil 'rd' nicht scheint, Wildcards zu erweitern. –
FOR /F "tokens=*" %i IN ('DIR **[[SearchTerm]]** /A:D /s /b') do rd /S/Q %i
rm -rf - "Verzeichnisname"
Ex: rm -rf - "-2096378"
Befehl werden die Ordner/Verzeichnisse beginnend mit löscht - oder Platzhalter
- 1. Löschen Sie alle Dateien und Ordner rekursiv mit Delphi
- 2. SVN rekursiv löschen
- 3. Alle .php-Dateien im Ordner rekursiv finden
- 4. Ordner rekursiv entfernen aber benannten Ordner ausschließen
- 5. Gulp - Lösche leere Ordner rekursiv
- 6. Alle Binärdateien im Ordner
- 7. Alle "* .foo" -Dateien rekursiv mit den entsprechenden "* .bar" -Dateien löschen
- 8. Löschen Sie Dateien oder Ordner rekursiv auf Windows cmd
- 9. Git LFS Track-Ordner rekursiv
- 10. NAnt Foreach Loop Ordner rekursiv
- 11. Elixir Skript laden Sie alle Module im Ordner rekursiv
- 12. SVN rekursiv ignorieren alle .js-Dateien im Ordner
- 13. Wie rekursiv alle Dateien im Ordner löscht, die ein bestimmtes Muster
- 14. Liste rekursiv alle Dateien und Ordner unter dem angegebenen Pfad?
- 15. Script löschen Sie alle Ordner außer
- 16. Ordner rekursiv kopieren, ausgenommen einige Ordner
- 17. löschen Ordner mit einer Ausnahme
- 18. Verschieben Sie die Anzahl der Ordner rekursiv in einen anderen Ordner im selben Ordner mit PowerShell
- 19. Wie verschiebe ich Ordner rekursiv?
- 20. alle Dateien mit PHP in einem Ordner löschen
- 21. Rekursiv löschen 0KB-Dateien mit Windows cmd
- 22. Einen Ordner und alle Inhalte mit Qt löschen?
- 23. löschen Verzeichnis rekursiv in Scala
- 24. Wie kann ich einen Ordner mit einem bestimmten Namen mit PowerShell rekursiv löschen?
- 25. Shell win32 älteste Verzeichnisse löschen (rekursiv)
- 26. Kopieren Sie alle Dateien in einem Ordner (einschließlich aller Unterordner rekursiv) in einen anderen Ordner
- 27. Kommandozeilen-Tool, um Ordner mit einem angegebenen Namen rekursiv in Windows zu löschen?
- 28. Rails gehören Javascripts Assets Ordner rekursiv
- 29. alle Zeilen löschen, die mit sed
- 30. Wie alle SVN-Dateien mit PowerShell rekursiv gelöscht werden
Nichts anderes als @ Maorcos Antwort funktionierte für mich. Leider hat er keine anderen Stimmen als meine. :( – IsmailS
fwiw: es ist das einzige, das auch für mich funktionierte. Danke :) – edzillion
Thx. Ich musste zwei Verzeichnisse ausschließen, was zu folgendem Befehl führte: 'FOR/D/R %% X IN (* .lproj) DO IF/I" %% ~ xnX "neq" en.lproj "IF/I" %% ~ xnX "neq" deutsch.lproj "RD/S/Q" %% ~ fX "'. Erläuterung: ['%% ~ xnX'] (http://stackoverflow.com/a/636391) entspricht dem vollständigen Verzeichnisnamen. 'IF/I .. neq" en.lproj "' filtert alle Verzeichnisse, die gleich "en.lproj" sind ('/ I' = case-insensitive). IFs [kann verschachtelt werden] (http://stackoverflow.com/a/2143203). Am Ende habe ich rekursiv alle Verzeichnisse gelöscht, die mit '.lproj' enden, außer' en.lproj' und 'english.lproj'. –