c20082005
Goto Top

Auslesen einer Datei mit einem Anführungszeichen im Text

Hallo zusammen,

ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme:

Ich habe eine XML-Datei, in der sich ein Text mit nur einem "korrekten" Anführungszeichen und einem "anderem" Anführungszeichen befindet.
Text: ...und dessen "Käffche“ kriegt Momo überhaupt noch die Lern...

Ich habe es hinbekommen, den Text auszulesen, zu verändern und in eine andere Datei einzufügen mit folgendem Code:

set WriteLine1=!Line:%Suchen1%=%Ersetzen1%!
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%!
>>"%t%" echo !WriteLine2!  

Das funktioniert auch ohne Probleme.
Ich möchte aber einen Zähler programmieren, der die Austauschvorgänge zählt.

Wenn ich jetzt schreibe

set WriteLine1=!Line:%Suchen1%=%Ersetzen1%!
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%!
>>"%t%" echo !WriteLine2!  

if "%WriteLine1%" NEQ "%Line%" set /a zaehler1=%zaehler1%+1  
if "%WriteLine2%" NEQ "%WriteLine1%" set /a zaehler2=%zaehler2%+1  

dann stürzt die Batch ohne Vorwarnung ab.

Wie kann ich diesen Absturz verhindern?

Gruß

Klaus

Content-ID: 255819

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

Ausgedruckt am: 23.11.2024 um 00:11 Uhr

Friemler
Friemler 25.11.2014 um 19:44:07 Uhr
Goto Top
Hallo Klaus,

nimm entweder VBScript (unter Verwendung des MS-XML-Parsers, siehe hier) oder PowerShell für Deine Aufgabe. Batchscript ist für das Parsen und erst recht für das Schreiben von XML-Dateien ungeeignet. Erstens wegen dem Sonderzeichenproblem, über das Du gerade gestolpert bist, und zweitens wegen der Zeichencodierung (Batch arbeitet mit der Codepage OEM850, XML-Dateien sind sehr oft in UTF-8 codiert). Beim Neu-Schreiben der Datei kannst Du u.U. ihren Inhalt beschädigen.

Gruß
Friemler