henary
Goto Top

per Batch Dateien anhand von Inhaltsmuster löschen

Alle *.txt im Verzeichnis \ablage\ und deren Unterverzeichnisse mit Inhalt 'Text' löschen

Hallo,

wie oben geschrieben suche ich eine Möglichkeit, um Dateien per Batch anhand von Text-Inhalten zu löschen. Schön wäre es, wenn eine ini-Datei für eine Liste von verschiedenen Such-Strings separat gepflegt werden kann.
Hintergrund: Die Batch soll in Mail-Verzeichnissen von Janaserver bestimmte Spam-Level automatisch löschen. Details folgen gern im Thread.

Habe schon etwas mit find23 probiert und hänge jetzt aber mit dem Löschen des Ergebnisses aus find32.
Sicher läßt sich das viel einfacher mit einer For... Geschichte lösen, das beherrsche ich nicht.

Danke & Grüße
Henry

Content-Key: 39606

Url: https://administrator.de/contentid/39606

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: Biber
Biber 07.09.2006 um 15:52:50 Uhr
Goto Top
Moin henary,

wenn es eine Datei d:\AntiSpam\boeseWorte.ini bei dir gibt mit den Suchstrings, die zu einem Anmeckern/einem Löschen aller Dateien im Verzeichnis M:\Mails mit Fundstellen führen:

>findstr /G:d:\AntiSpam\boeseWorte.ini /i /m m:\Mails\*.*

...dieser Befehl oben liefert Dir alle Fund-Dateien zurück.

Willst Du die unbesehen wegknallen, dann:
>for /f %i in ('findstr /G: D:\AntiSpam\boeseWorte.ini /i /m m:\Mails\*.*') do del %i >nul  

Thats all.
Gruß
Biber
Mitglied: bastla
bastla 07.09.2006 um 15:59:54 Uhr
Goto Top
@Biber

Sollte man entsprechend den Bedürfnissen von henary dem findstr noch ein /S spendieren?


Grüße
bastla
Mitglied: henary
henary 07.09.2006 um 16:03:05 Uhr
Goto Top
Hallo Biber,

krass schnell und krass knapp die Lösung, Danke.
Habe das gleich angewendet, jedoch zwei Schnitzer noch gefunden, einen selbst gelöst - den anderen finde ich nur mit Deiner Hilfe.

1. %i muß %%i sein, daß hatte ich schon gelernt face-wink
2. es wird nur die erste Datei gefunden und gelöscht

Was nun?
Ah: Update: bastla hat mit /S wohl 2. beantwortet - ich teste!

Dankle & Grüße,
Henry
Mitglied: henary
henary 07.09.2006 um 16:08:00 Uhr
Goto Top
Hallo Biber & bastla,

läuft - Klasse!

Dateinamen mit Leerzeichen im Namen werden nicht gelöscht - mir egal, weil ich das nur eben im Test hatte und nicht im Echtbetrieb vorkommt. Das nur mal am Rande erwähnt.
Wäre sozusagen nur optional für ggf. andere Fälle noch ein Prob.

Besten Dank für die schnelle Lösung,
Henry
Mitglied: Biber
Biber 07.09.2006 um 16:10:28 Uhr
Goto Top
Na ja, ihr habt recht face-wink
wenn es denn ein Batch sein soll und auch noch Dateien/Verzeichnisse mit "Leerzeichen in Pfad oder Dateinamen" verarbeiten können soll:
::----snipp HauWechDenSpam.bat
@for /f "delims=" %%i in ('findstr /G:D:\AntiSpam\boeseWorte.ini /i /s /m m:\Mails\*.*) do @del "%%i" >nul  
::----snapp HauWechDenSpam.bat

Gruß
Biber
[Edit] Uuups, das war über Kreuz, Henry...
Nimm es als vorauseilende Antwort face-big-smile
[/Edit]
Mitglied: henary
henary 07.09.2006 um 16:37:40 Uhr
Goto Top
Super, klappt butterweich!

Dann bis demnächst,
Henry