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!
Ich hoffe Ihr könnt mir helfen!
Vielen Dank schon einmal
MfG
Nigel
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