Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Auslesen einer Datei mit einem Anführungszeichen im Text

Frage Entwicklung Batch & Shell

Mitglied: c20082005

c20082005 (Level 1) - Jetzt verbinden

25.11.2014 um 11:20 Uhr, 742 Aufrufe, 1 Kommentar

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:

01.
set WriteLine1=!Line:%Suchen1%=%Ersetzen1%! 
02.
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%! 
03.
>>"%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

01.
set WriteLine1=!Line:%Suchen1%=%Ersetzen1%! 
02.
set WriteLine2=!WriteLine1:%Suchen2%=%Ersetzen2%! 
03.
>>"%t%" echo !WriteLine2! 
04.
 
05.
if "%WriteLine1%" NEQ "%Line%" set /a zaehler1=%zaehler1%+1 
06.
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
Mitglied: Friemler
25.11.2014 um 19:44 Uhr
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
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...