Hallo,
ich muss einen bestimmten Teil aus einer Batch Datei löschen.
Der Teil sieht folgendermaßen aus:
Ich muss in der ganzen Textdatei alle Zeilen löschen, die so aufgebaut sind.
Ist es möglich, wie in SQL nach beliebigen Zeichen zu suchen, wie zum Beispiel mit "Order ???????? successfully created." oder "Order ** successfully created."
Folgendes habe ich schon gefunden:
Ich hoffe ihr könnt mir helfen
ich muss einen bestimmten Teil aus einer Batch Datei löschen.
Der Teil sieht folgendermaßen aus:
Code:
Order XXXXXXXX successfully created. (XXXXXXXX = 8 stellige Zahl, die immer anders ist)
Ich muss in der ganzen Textdatei alle Zeilen löschen, die so aufgebaut sind.
Ist es möglich, wie in SQL nach beliebigen Zeichen zu suchen, wie zum Beispiel mit "Order ???????? successfully created." oder "Order ** successfully created."
Folgendes habe ich schon gefunden:
Code:
SETLOCAL enabledelayedexpansion
REM
REM Testprogramm
REM Suchen und Ersetzen in einer Textdatei
REM
REM http://www.supportnet.de/threads/1481757
REM batti-batch 11/2007
REM
REM lauffaehig ab Windows 2000
REM
SET "quell_datei=C:\test\log.txt"
SET "ziel_datei=C:\test\log_neu.txt"
SET "suchen_nach=Order ???????? successfully created."
SET "ersetzen_durch="
REM Ausgabe einer Fehlermeldung und Programmabbruch
REM falls die Variable "suchen_nach" nicht definiert ist
IF NOT DEFINED suchen_nach (ECHO Fehler: Die Variable suchen_nach nicht definiert^^!&GOTO :eof)
REM Loeschen der Ausgabedatei, falls sie (noch) existiert
IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL)
REM Quell-Datei zeilenweise auslesen
REM und in Variable "zeile" schreiben
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO (
SET zeile=%%i& CALL :ersetzen !zeile!
)
GOTO :weiter
:ersetzen
REM innerhalb der Variable "zeile"
REM den Inhalt der Variable "suchen_nach" suchen
REM und diese durch den Inhalt der Variable "ersetzen_durch" ersetzen
SET zeile=!zeile:%suchen_nach%=%ersetzen_durch%!
REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben
IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%)
GOTO :eof
:weiter
REM weitere Verarbeitung
ECHO Fertig^^!
Ich hoffe ihr könnt mir helfen