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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 339805
Url: https://administrator.de/contentid/339805
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
5 Kommentare
Neuester Kommentar
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.