bestimmte Verzeichnisse löschen

Hier dürfen auch unregistrierte Besucher posten.
Antworten
rmh

bestimmte Verzeichnisse löschen

Beitrag von rmh »

Hallo,

ich möchte in einem bestimmten Laufwerk alle Verzeichnisse löschen, die
- im Namen einen bestimmten Text haben und/oder
- deren Inhalt mit diesen Text enden

Beispiel:
- Laufwerk T:\
- alle Verzeichnisse, in deren Verzeichnisnamen das Wort "flac" enthalten ist
- alle Verzeichnisse, deren Inhalt flac-Dateien sind

Diese Verzeichnisse möchte ich mir erstmal anzeigen lassen, später dann kopieren und/oder löschen.
Aber erstmal die Ansicht, ob das auch so die richtigen Verzeichnisse sind.

Realisieren über eine kurze DOS-Batch, die läßt sich ja schnell mit ECHO und PAUSE versehen, damit man die Abarbeitung der einzelnen Befehle überwachen kann.

Kann mir da vielleicht jemand helfen. Ich kriege das einfach nicht hin.

Danke
Benutzeravatar
His_Cifnes
Kommandozeilenfetischist
Beiträge: 169
Registriert: Mi 31. Jul 2019, 22:06

Re: bestimmte Verzeichnisse löschen

Beitrag von His_Cifnes »

Hi Rmh,

ich kann Dir leider keinen Einzeiler anbieten, aber zunächst würde ich die Dateiliste erstellen, anhand Deiner Parameter:

Alle Verzeichnisse ab dem aktuellen und Unterverzeichnisse, die FLAC im Namen haben:

Code: Alles auswählen

dir /s /b /ad *flac* > vzlist.txt
Erklärung:
/s listet Unterpfade mit
/b kurzes Anzeigeformat
/ad nur Verzeichnisse einbeziehen
*flac* alles anzeigen was flac enthält
> vzlist.txt Ergebnis ausgeben nach vzlist.txt

Alle Dateien im aktuellen und in Unterverzeichnissen, die FLAC im Namen haben:

Code: Alles auswählen

dir /s /b /a-d *flac* > dtlist.txt
Erklärung:
/s listet Unterpfade mit
/b kurzes Anzeigeformat
/a-d alles einbeziehen, was keine Verzeichnisse sind
*flac* alles anzeigen was flac enthält
> dtlist.txt Ergebnis ausgeben nach dtlist.txt

Diese Listen könntest Du dann weiterverarbeiten mit einem Lösch-Tool, das sozusagen zeilenweise die TXT-Dateien durchgeht und löscht.
Bei Verzeichnissen wird das nicht so einfach, denn DOS läßt diese nur löschen wenn sie leer sind. Daher würde ich allgemein zum Befehl deltree neigen, was es aber erst ab dem DOS-Mode von Windows 9x gab.

Cif
Antworten