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, 723 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...