Alle Dateien in Verzeichnis und Unterverzeichnissen löschen, mit Ausnahme aller.txt-Dateien
Hallo zusammen!
Ich habe zum löschen aller Dateien in bestimmten Verzeichnissen und dessen Unterverzeichnissen folgende Batchzeile erstellt:
Dabei muss sicher gestellt sein, das alle Dateien mit der Endung .txt von der Löschung ausgeschlossen werden. Bei meinen Testversuchen werden alle Dateien korrekt gelöscht, aber der Ausschluss für die .txt-Dateien wird nur für die oberen Ordner beachtet, die .txt-Dateien in den weiteren Unterverzeichnissen dieser Ordner werden trotzdem gelöscht.
Was habe ich hier übersehen?
MFG
tegwert
Ich habe zum löschen aller Dateien in bestimmten Verzeichnissen und dessen Unterverzeichnissen folgende Batchzeile erstellt:
FOR %%a IN (Z:\test1 z:\test2) DO FOR /f "delims=" %%i IN ('DIR /s /b /a %%a\* ^| FINDSTR /vec:.txt') DO DEL /q "%%i"
Dabei muss sicher gestellt sein, das alle Dateien mit der Endung .txt von der Löschung ausgeschlossen werden. Bei meinen Testversuchen werden alle Dateien korrekt gelöscht, aber der Ausschluss für die .txt-Dateien wird nur für die oberen Ordner beachtet, die .txt-Dateien in den weiteren Unterverzeichnissen dieser Ordner werden trotzdem gelöscht.
Was habe ich hier übersehen?
MFG
tegwert
Please also mark the comments that contributed to the solution of the article
Content-ID: 339805
Url: https://administrator.de/forum/alle-dateien-in-verzeichnis-und-unterverzeichnissen-loeschen-mit-ausnahme-aller-txt-dateien-339805.html
Printed on: May 16, 2025 at 18:05 o'clock
5 Comments
Latest comment

FOR %%a IN (Z:\test1 z:\test2) DO FOR /f "delims=" %%i IN ('DIR /s /b /a-d "%%a" ^| FINDSTR /vie "\.txt"') DO DEL "%%i"
gci "Z:\test1\*","Z:\test2\*" -File -Recurse -Exclude *.txt | del -Force
Suchfunktion wieder kapott?!
Gruß

Findstr unterstützt zwar Regex, aber nur rudimentär, deswegen gibt es dort den Oder Operator (|) nicht, du kannst aber mit einer Leerstelle das gleiche erreichen.
ein
FOR %%a IN (Z:\test1 z:\test2) DO FOR /f "delims=" %%i IN ('DIR /s /b /a-d "%%a" ^|FINDSTR /vie "\.txt \.ini"') DO DEL "%%i"
findstr /?
sagt dir warum.Leerzeichen weisen auf mehrere getrennte Zeichenfolgen hin, außer es wurde /C
als Option angegeben. Zum Beispiel sucht 'FINDSTR "Windows NT" BR.TXT' nach
"Windows" oder "NT" in der Datei BR.TXT. 'FINDSTR /C:"Windows NT" BR.TXT'
hingegen sucht nach "Windows NT" in der Datei BR.TXT.

You're welcome.
Schönes Pfingswochenende.
Schönes Pfingswochenende.