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, 1288 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 ..
Ähnliche Inhalte
Batch & Shell
XML in CSV bat batch powershell (9)

Frage von nolle99 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Registry per Batch abfragen und INI Einträge hinzufügen bzw. ändern (18)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (41)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

Netzwerke
VPN-Server einrichten PPTPD-Einrichtung gescheitert (15)

Frage von MIlexx zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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