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

Wert in .xml per Batch ändern

Frage Entwicklung Batch & Shell

Mitglied: KingPick

KingPick (Level 1) - Jetzt verbinden

05.11.2014 um 12:00 Uhr, 1224 Aufrufe, 3 Kommentare

Hallo an alle,

ich stehe leider seit kurzem vor einem "kleinen" Problem.

Zuerst: Ja ich weiß so ein ähnliches Thema gibt es hier schon, aber da kann ich keinen Überblick behalten, bzw. für meine Frage is da keine direkte Lösung dabei.

So nun zu meinem Problem...

und zwar hab ich die Aufgabe bekommen, eine bestimmte Zeile innerhalb einer XML Datei zu ändern, bzw für mehrere innerhalb eines Ordners.

<?xml version="1.0" encoding="UTF-8"?>
-<Root ICVersion="5.2f00" ICSenderLocation="CZ" ICSender="10" ICReceiverLocation="D" ICReceiver="1">-<Settings>
....
....
....


So sieht der Anfang der XML Dateien aus, die folgenden Infos sind irrelevant für meine Aufgabe (hoffe auch für die Batch).

Und zwar soll ich nun in der zweiten Zeile den Wert von ICSender="10" ... auf... ICSender="110" ändern.


Leider hänge ich da nun komplett in der Luft und weiß nichmal wie ich richtig anfangen soll...

Hoffe ihr könnt einem Ungläubigen erleuchten und ihn zurück auf den rechten Weg führen.

Leider bin ich noch recht frisch dabei und arbeite mich da erst richtig ein


Ich danke allen jetzt schonmal für die Hilfe!!

MfG KingPick
Mitglied: Friemler
05.11.2014 um 18:22 Uhr
Hallo KingPick,

Batchscript ist für Diese Aufgabe ungeeignet. Erstens enthalten XML-Dateien viele Zeichen, die vom Batchscript-Interpreter als auszuführender Code angesehen werden (z.B. < und >), was ein zuverlässiges Parsen von XML-Dateien nahezu unmöglich macht. Zweitens kommt in Deinem Fall noch erschwerend hinzu, dass Deine XML-Datei laut Header in UTF-8 codiert ist, womit Batchscript nicht umgehen kann. Das macht sich bei Sonderzeichen bemerkbar, die einen Zeichencode größer als 127 haben.

Eine Alternative für Dich wäre z.B. VBScript unter Benutzung des MS XML-Parsers. Das (Google-)Stichwort hierzu wäre XMLDOM (siehe auch hier). Mit PowerShell lässt sich bestimmt auch was machen.

Da Du von einer "Aufgabe" sprichst, die im übrigen mit den o.g. Mitteln mit relativ geringem Aufwand lösbar ist, gehe ich mal davon aus, dass Dein Chef(?) herausfinden möchte, ob Du für eine bestimmte Tätigkeit bzw. Arbeitsstelle geeignet bist. Ich glaube, dass Du Dir selbst keinen Gefallen damit tust, Dir hier oder in einem anderen Forum eine Lösung basteln zu lassen und dann per Copy&Paste zu übernehmen. Du musst einfach lernen, Dich in neue Wissensbereiche einzuarbeiten und Problemlösungen selbst zu entwickeln, sonst wirst Du früher oder später in dem Job sowieso untergehen.

Gruß
Friemler
Bitte warten ..
Mitglied: colinardo
05.11.2014, aktualisiert um 19:03 Uhr
Hallo KingPick, Willkommen auf Administrator.de!
Schließe mich Friemler an, Batch ist für XML-Sachen einfach nicht gut geeignet!
Wenn dein File valides XML ist kannst du es z.B. mit Powershell so für alle XML-Dateien eines Ordners machen:
01.
gci "C:\temp\*.xml" | %{ 
02.
    $xml = new-Object xml 
03.
    $xml.Load($_.Fullname) 
04.
    $xml.Root.IcSender = "110" 
05.
    $xml.Save($_.Fullname) 
06.
}
oder wenn die XML-Datei "speziell" ist und nicht konform, dann so für alle XML-Dateien eines Ordners
01.
gci "C:\temp\*.xml" | %{(gc $_.Fullname) -replace 'ICSender="10"','ICSender="110"' | out-file $_.FullName -Encoding utf8}
Grüße Uwe
Bitte warten ..
Mitglied: KingPick
06.11.2014 um 07:53 Uhr
Danke dann werde schauen wie sich das lösen lässt.

Ne, ging nur darum das ich einiges per Batch bisher gelöst hab und ein Kollege daher meinte ob das so lösbar wäre. Da ich nicht weiterkam wollt ich nur mal eure Meinung wissen. Aber nun weiß ich ja das ich sowas lieber nicht per Batch mache
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Batch & Shell
gelöst Datum per batch ändern in Tagen (2)

Frage von crawnby zum Thema Batch & Shell ...

XML
gelöst XML Datei per Skript ändern (12)

Frage von chrisen zum Thema XML ...

Microsoft Office
MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (18)

Frage von Winuser zum Thema Hyper-V ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...