knallster
Goto Top

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

Content-ID: 360562

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

Ausgedruckt am: 14.04.2025 um 23:04 Uhr

135111
Lösung 135111 10.01.2018 aktualisiert um 13:00:39 Uhr
Goto Top
Powershell:
1
gci "D:\ABC" -Directory | ?{$_.GetFiles().Extension -notcontains '.xyz'} | remove-item -Force -Recurse  
Batch
1
2
@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
Goto Top
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
Goto Top
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
Goto Top
1
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
Goto Top
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
Goto Top
1
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
Goto Top
Entschuldige bitte :/
Trotzdem danke!