lennus
Goto Top

Batch - Zeile von bis von Datei auslesen

Hallo erstmal,

ich hab jetzt schon viel hier im Forum gelesen und auch echt nützliche Tipps herausgezogen, aber jetzt komm ich nicht mehr weiter.

Im Prinzip möchte eine Datei (in diesem Falle eine HTM-Datei) in eine Variable auslesen aber eine bestimmte Zeile (vielleicht auch späterhin 2) weglassen.

Das war jetzt mein erser Lösungsansatz:

@echo on


cd /
cd xtest

FOR /F %%A IN ('DIR C:\XTest\*.htm /B /O:N') DO SET Filename=%%A & GOTO abbrechen1  
:abbrechen1

for /f "delims=:" %%i in ('findstr /b /i /v "<DIV align=left><FONT size=2 face=Arial>---" "C:\xTest\%Filename%"') do echo %%i>>"C:\XTest\test.htm"  

Jetzt ist es natürlich so, dass
"<DIV align=left><FONT size=2 face=Arial>---"   
so nicht funktionieren kann. Er interpretiert das Leerzeichen als Trennmarke für den nächsten Suchbegriff.
Kann ich an dieser Stelle irgendwo noch Anführungsstriche oder sonstwas einfügen um ihm hier klar zu machen, dass es sich um einen langen Suchbegriff handelt und er die Leerzeichen nicht als Trennmarke sehen soll?

Alternativ hab ich mir auch überlegt Zeile 1 bis 13 und Zeile 15 bis 20 auslesen zu lassen. Hier Hakt es aber bei mir aus, da ich keine Ahnung habe wie ich Zeilen "von" "bis" in eine variable einlesen kann.


Schon mal vielen Dank für die Hilfe
Grüße

Content-ID: 150181

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

Ausgedruckt am: 19.11.2024 um 23:11 Uhr

bastla
bastla 02.09.2010 um 18:11:55 Uhr
Goto Top
Hallo Lennus!

Mit
findstr /b /i /v /c:"<DIV align=left><FONT size=2 face=Arial>---" "C:\xTest\%Filename%"
solltest Du bessere Chancen haben ...

... ansonsten ist die Einzel-Verabeitung von HTML-Zeilen per Batch zwar machbar, aber mühsam - in solchen Fällen bevorzuge ich VBS ...

Grüße
bastla
Lennus
Lennus 03.09.2010 um 09:49:57 Uhr
Goto Top
Super vielen Dank,

das war genau was ich gesucht habe