knallster

Batch-Datei: Ordner löschen, falls bestimmte Datei nicht vorhanden

Hallo,

ich möchte gerne im Verzeichnis D:\ABC alle Unterordner löschen, in denen keine Datei mit der Endung .xyz vorhanden ist. Wie könnte man sowas umsetzen?

Viele Grüße
Jan
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 360562

Url: https://administrator.de/forum/batch-datei-ordner-loeschen-falls-bestimmte-datei-nicht-vorhanden-360562.html

Ausgedruckt am: 14.07.2025 um 01:07 Uhr

135111
Lösung 135111 10.01.2018 aktualisiert um 13:00:39 Uhr
Powershell:
gci "D:\ABC" -Directory | ?{$_.GetFiles().Extension -notcontains '.xyz'} | remove-item -Force -Recurse  
Batch
@echo off
for /d %%a in ("D:\ABC") do (dir "%%a\*.xyz" || rd "%%a" /s /q)  
knallster
knallster 10.01.2018 um 14:42:31 Uhr
Hallo fuerte,

das hat mit Powershell einwandfrei funktioniert. Vielen Dank, Du hast mir eine Menge Arbeit erspart!

Viele Grüße
Jan
swiss5-11
swiss5-11 24.03.2018 um 18:56:47 Uhr
Und wie kann ich mit dem Powershell-Befehl mehrere Dateiendungen als "Suchkriterium" festlegen? Also nicht nur .xyz, sondern auch noch .xxx und .yyy
Danke schon mal für die Antwort! face-smile
135799
135799 24.03.2018 um 19:06:46 Uhr
gci "D:\ABC" -Directory | ?{$_.GetFiles().Extension -notmatch '\.(xyz|xxx|yyy)$'} | remove-item -Force -Recurse  
swiss5-11
swiss5-11 24.03.2018 um 19:17:23 Uhr
Dankeschön!
Gäbe es auch eine Möglichkeit in einem Verzeichnis alle Dateien (inklusive der Dateien in Unterverzeichnissen) mitden Endungen .xxx und .yyy zu löschen?
135799
135799 24.03.2018 aktualisiert um 20:23:57 Uhr
gci 'D:\Abc\*' -File -Recurse -Include *.xxx,*.yyy -Force | del -Force  
Wie wärs mal mit Handbuch lesen anstatt hier fremde Threads mit anderen Fragen zu fluten?!
swiss5-11
swiss5-11 26.03.2018 um 16:32:51 Uhr
Entschuldige bitte :/
Trotzdem danke!