m4dddd
Goto Top

Textdatei löschen wenn bestimmer Inhalt fehlt

Hallo,

ist es möglich über eine Batchdatei folgendes zu realisieren:

Eine Textdatei enthält diverse Daten. Davon gibt es 50 Stück täglich. Über eine Batch soll überprüft werden, wenn folgender Text z. B. "ABC123" nicht enthalten ist, soll diese komplette Textdatei gelöscht werden. Überall wo dieser Zeichensatz enthalten ist, soll nichts passiern.

Wie könnte die Batch aussehen? Vielen Dank jetzt schon mal. face-smile

Content-ID: 85674

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

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

bastla
bastla 16.04.2008 um 15:39:13 Uhr
Goto Top
Hallo m4dddd!

Eigentlich genügt dafür eine Zeile:
@for %%i in ("D:\Dein Ordner\*.txt") do @findstr "ABCD123" "%%i">nul || @echo del "%%i%  
Falls sich auch andere Dateien im selben Ordner befinden sollten, wäre zu überlegen, wie sich die Dateiauswahl auf die "richtigen" beschränken lässt, etwa "D:\Dein Ordner\ABC*.txt" - dies insbesondere, wenn es noch andere ".txt"-Dateien gibt.

Zur Sicherheit steht in der obigen Zeile ein "@echo" vor dem Löschbefehl - so werden die zu löschenden Dateien nur angezeigt. Wenn Du wirklich löschen willst, das "@echo" einfach entfernen.

Zum Testen ist es übrigens sinnvoll, den Batch direkt von der Kommandozeile zu starten, oder als zweite Zeile "@pause" hinzuzufügen.

Grüße
bastla
Biber
Biber 16.04.2008 um 17:10:46 Uhr
Goto Top
Moin m4dddd,

geringfügige Variation von bastlas Lösung, hier zum Test am CMD-Prompt:
@for /f "delims=" %i in ('findstr /m /i "ABCD123" "D:\Dein Ordner\*.txt"')  do @Echo del "%i"  

Findstr /m gibt nur die Dateinamen (incl.Pfad) der Dateien aus, die den Suchtext enthalten.
Auch hier gilt: wenn es pass, nach dem testen das "@echo" weglassen.

Grüße
Biber
bastla
bastla 16.04.2008 um 17:58:29 Uhr
Goto Top
@Biber

"/m" wollte ich eigentlich auch verwenden, allerdings mit "/v" (weil: "wenn folgender Text z. B. "ABC123" nicht enthalten ist, soll diese komplette Textdatei gelöscht werden") - scheint aber in dieser Kombination nicht zu funktionieren ...

Grüße
bastla
Biber
Biber 16.04.2008 um 18:03:44 Uhr
Goto Top
@bastla

...uuuuuuuuuppps... das "nicht enthalten" hatte ich in der Tat überlesen.
....ja, ich weiß, ich hätte ja auch auf die Überschrift schauen können....

Und ja - die Kombination von "/m" und "/v" ist NICHT vorgesehen und mangels Nachfrage wohl auch nicht in der Planung bei diesen Redmonder Hoffnungsträgern.

Also bitte meinen Exkurs oben als "Off Topic" gedanklich ausblenden oder auf /IGNORE setzen.

Grüße
Biber
m4dddd
m4dddd 17.04.2008 um 08:08:58 Uhr
Goto Top
Super! Hat geklappt! Vielen Dank für die schnellen Antworten! face-smile