mtb4ever
Goto Top

Batch Löschen von Zeilen mit Leerzeichen und bestimmten Text am Anfang

Hallo

Ich habe folgendes vor, ich habe eine Text Datei die mehrere dynamische Nummer enthält, diese sieht ca wie folgt aus


normaler Text
<NummerID>123456</NummerID>
normaler Text
<NummerID>456874</NummerID>


vor der <NummerID> stehen immer 9 Leerzeichen, deswegen findet er das <NummerID> anscheind nicht.
Bis jetzt sieht es so aus

set "Quelle=Txtdatei.txt"  

set Entf="         ^<NummerID^>"  
set "Mark=Date"  
set "TempTxt=%temp%\TT.txt"  
findstr /v /b /i "%Entf%" "%Quelle%">"%TempTxt%"  
set Zeile=0
for /f "delims=:" %%i in ('findstr /n /i /b "%Mark%" "%TempTxt%"') do set Zeile=%%i  
del "%Quelle%"  
if %Zeile%==0 goto :Rest
for /f "tokens=1* delims=:" %%i in ('findstr /n $ "%TempTxt%"') do if %%i leq %Zeile% echo.%%j>>"%Quelle%"  
echo etwas>>"%Quelle%"  
:Rest
more +%Zeile% "%TempTxt%">>"%Quelle%"  

hat einer eine Idee wie ich diese Zeilen mit NummerID gelöscht bekomme ?

Viele Grüße Michael

Content-Key: 195971

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

Printed on: April 21, 2024 at 17:04 o'clock

Member: bastla
bastla Dec 17, 2012 at 17:05:41 (UTC)
Goto Top
Hallo MTB4ever!

Ändere die Zeile 3 auf
set "Entf=         <NummerID>"
und die Zeile 6 auf
findstr /v /b /i /c:"%Entf%" "%Quelle%">"%TempTxt%"
Grüße
bastla
Member: MTB4ever
MTB4ever Dec 18, 2012 at 06:42:18 (UTC)
Goto Top
Vielen Dank bastla, hat einwandfrei funktioniert face-smile