dimitriw
Goto Top

Batch Text Dateien durchsuchen und löschen.

Erstmal einen schönen Tag.
Es geht um folgendes.
Ich möchte gerne mit Batch ein Programm erstellen der in dem Ordner indem es sich befindet, die Text Dateien durchliest und alle Dateien davon die etwas bestimmtes drinn stehen haben löscht.

ECHO=ON
find "was" *.txt
For %%a IN (*.txt) DO %%a del *.txt

Ich habe leider noch nicht so große Erfahrung mit dem Umgang von Batch und würde mich ber Antworten und ggfs. Lösung freuen.
MFG DimitriW

Content-Key: 141649

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

Printed on: April 18, 2024 at 07:04 o'clock

Mitglied: 77559
77559 Apr 28, 2010 at 12:13:33 (UTC)
Goto Top
Hallo Dimitri,

das ist ein Einzeiler auf der Kommdozeile:
for /f "delims=" %A in ('Findstr /i /M "was" *.txt') Do @Echo Del "%A"

Wenn die Ausgabe korrekt erscheint entferne das Echo

Gruß
LotPings

Ja das war ein bisschen kurz, zur Erläuterung:
findstr mit /M listet nur die Dateinamen auf in denen der Suchbegriff vorkommt.
wenn der Suchbegriff aus mehreren Wörter besteht nimmt man besser:
for /f "delims=" %A in ('Findstr /i /M /C:"was auch immer" *.txt') Do @Echo Del "%A"
In einer Batchdatei sind die %-Zeichen zu verdoppeln.
Member: DimitriW
DimitriW Apr 28, 2010 at 12:18:52 (UTC)
Goto Top
Die Text Dateien sind immer noch da.
Da muss irgendwo ein Fehler versteckt sein.
Mitglied: 77559
77559 Apr 28, 2010 at 12:22:32 (UTC)
Goto Top
Und das Echo hast du wirklich rausgenommen,
damit er nicht nur anzeigt was er löschen würde?

Gruß
LotPings
Member: DimitriW
DimitriW Apr 28, 2010 at 12:28:42 (UTC)
Goto Top
Ja, CMD Zeigt mir an "FINDSTR: *.txt kann nicht geöfnet werden"
Mitglied: 77559
77559 Apr 28, 2010 at 12:34:11 (UTC)
Goto Top
Sind die Dateien die dir in dem Verzeichnis mit Dir *.txt angezeigt werden,
denn ggfs noch in einem Programm geöffnet?

Was gibt der Befehl
Findstr /i /M "was" *.txt
denn aus?

Gruß
LotPings
Member: DimitriW
DimitriW Apr 28, 2010 at 12:43:49 (UTC)
Goto Top
Also laut der Meldung soll irgendwie eine Kopie gesucht werden.
"Kopie konnte nicht gefunden werden"
Was soll den der Befehl "delims=" machen?
Mitglied: 77559
77559 Apr 28, 2010 at 13:16:56 (UTC)
Goto Top
Zitat von @DimitriW:
Also laut der Meldung soll irgendwie eine Kopie gesucht werden.
"Kopie konnte nicht gefunden werden"
Deine unvllständigen Angaben mache es etwas schwer dir zu helfen, welcher Beffehl erzeugt denn jetzt diesem Fehler?
Das läuft hier übrigends ohne Probleme.

Was soll den der Befehl "delims=" machen?
Er weist die for /f Schleife an die gesamte Zeile zu verarbeiten, der delimiter wird eben auf nichts gesetzt.
Das ist für den Fall das Leerzeichen im Dateinamen vorkommen, dafür sollte aber auch noch %A in "%A" gesetzt werden, ändere ich oben.

Gruß
LotPings
Member: DimitriW
DimitriW Apr 28, 2010 at 13:22:17 (UTC)
Goto Top
Ah vielen Dank.
Es hat nun Funktioniert.