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

Ausgedruckt am: 23.04.2024 um 14:04 Uhr

Mitglied: bastla
bastla 17.12.2012 um 18:05:41 Uhr
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
Mitglied: MTB4ever
MTB4ever 18.12.2012 um 07:42:18 Uhr
Goto Top
Vielen Dank bastla, hat einwandfrei funktioniert face-smile