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, 731 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (24)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (10)

Frage von SarekHL zum Thema Netzwerke ...