Batch Loop/Schleife für suche Wort lösche Zeilen nächste txt Datei

Nigel_

Newbie
Registriert
Nov. 2017
Beiträge
2
Hallo zusammen,

ich bin neu hier und habe einen Batch der Strings sucht und die Fundzeile(n) löscht.
Nun macht er ja genau das was ich brauche, leider limitiert auf die Vorgabe der Datei!

Ist es möglich da einen Loop einzubauen damit ich nur den Pfad vorgebe und der Loop
dann auf alle *.txt Dateien in diesem Ordner angewendet wird !?

Nach langen Selbstversuchen habe ich aufgegeben es selbst zu versuchen.
Kurz, ich habe keine Ahnung wie das geht!

Code:
@echo off & setlocal

REM Der OrdnerPfad der bearbeitetet werden soll:
set "Pfad=C:\PFAD\DATEIEN"

REM Daraus möchte ich eine Schleife bilden umn nicht jeden File einzeln anzuwählen:
set "file=HALLO.txt"

REM Suchzeichenfolgen in Anführungszeichen gesetzt und durch ein Leerzeichen getrennt:
set search="DOKUMENTATION"

set "tmpfile=%temp%\%file%.tmp~"
setlocal EnableDelayedExpansion
<"!file!" >"!tmpfile!" (
  for /f %%i in ('type "!file!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
    set "line=" &set /p"line="
    set "found="
    if defined line (
      for %%k in (!search!) do (
        if "!line!" neq "!line:%%~k=!" set "found=1"
      )
      if not defined found echo(!line!
    ) else (
      echo(
    )
  )
)
move /y "!tmpfile!" "!file!"

Ich hoffe Ihr könnt mir helfen!

Vielen Dank schon einmal
MfG
Nigel
 
Baue doch einfach "for /f %%f in (`dir /b %Pfad%`) do echo %%f" ein und schau ob er die Dateien auflistet.
Anschließend setzt du statt des "do echo..." deine for-Schleife rein.
 
Hi Aludrin,
ersmal danke für Dein Feedback!

Das ist ja genau mein Problem, ich bin nicht im Stande die, oder irgend eine Schleife so einzubauen wie Du es vorschlägst.
Das übersteigt mein Können und bevor ich Amok laufe hoffe ich Du kannst mir da Licht ans Fahrrad machen :)

Gruß
Nigel
 
Zurück
Oben