Top-Themen

Aktuelle Themen (A bis Z)

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

Inhalt einer .xml Datei ändern mit Batch File

Mitglied: JJSchumacher

JJSchumacher (Level 1) - Jetzt verbinden

18.06.2018, aktualisiert 16:43 Uhr, 2159 Aufrufe, 10 Kommentare, 3 Danke

Hallo Zusammen,

Ich habe eine kleine Datei activeSite.xml mit folgendem Inhalt:

01.
<?xml version="1.0" encoding="utf-8"?>
02.
<iltisap version="1">
03.
  <activeSite value="ANLAGE1" />
04.
</iltisap>
Diese würde ich gerne mit einem .bat (Batch) File wie folgt ändern:
01.
<activeSite value="ANLAGE1" />
soll in z.B.
01.
<activeSite value="ANLAGE2" />
geändert werden.

Gibt es einen einfachen weg diesen Parameter zu ändern?

Habe an sed ' gedacht aber kenne mich leider nicht so gut aus...

Danke und viele Grüsse,
Jonas
Mitglied: colinardo
18.06.2018, aktualisiert um 16:55 Uhr
Servus Jonas, willkommen auf Administrator.de!
Kein Problem, Pfad und Wert anpassen, fertig.
01.
@echo off
02.
set "file=D:\Daten\activeSite.xml"
03.
powershell -Executionpolicy Bypass -NoProfile -Command "$xml = [xml](gc '%file%'); $xml.iltisap.activeSite.value = 'ANLAGE2';$xml.Save('%file%')"
Grüße Uwe
Bitte warten ..
Mitglied: erikro
18.06.2018 um 16:55 Uhr
Moin,

nimm Powershell. Dann wird alles ganz einfach:

01.
[xml]$activeSite = get-content .\activeSite.xml 
02.
$activeSite.iltisap.activesite.value = "Anlage2"
03.
$activeSite.save("activeSite.xml")
hth

Erik
Bitte warten ..
Mitglied: JJSchumacher
18.06.2018 um 17:03 Uhr
Hi Uwe,

Wow vielen Dank für die super schnelle Antwort.
Habe es gerade mal ausprobiert und deine commands in ein .bat file gespeichert bei mir kommt leider beim ausführen folgende Meldung:

'powershell' is not recognized as an internal or external command, operable program or batch file.

Habe es auf einem Windows Server 2008 versucht... mach ich da noch was falsch...

Sorry bin absoluter Anfänger...

Danke und viele Grüsse,
Jonas
Bitte warten ..
Mitglied: colinardo
18.06.2018, aktualisiert um 17:07 Uhr
Zitat von JJSchumacher:
nem Windows Server 2008 versucht... mach ich da noch was falsch...
Joa, auf der alten Kiste ist die Powershell noch nicht per default installiert.
Enabling PowerShell on Windows Server 2008
Bitte warten ..
Mitglied: JJSchumacher
18.06.2018 um 17:10 Uhr
Danke für den Tipp, leider bin ich auf einer gehärteten Windows Server 2008 Version und verfüge nicht über die rechte dies zu ändern.
Schade, wär wirklich eine sehr gute Lösung gewesen.
Bitte warten ..
Mitglied: colinardo
18.06.2018, aktualisiert um 17:37 Uhr
leider bin ich auf einer gehärteten Windows Server 2008 Version
Als Anfänger wohl auch gut so, duck und wech ... .
Wenn du willst kannst du das auch per VBS machen. Kurze Rückmeldung ob du das wenigstens darfst und Code kommt.
Bitte warten ..
Mitglied: JJSchumacher
18.06.2018 um 17:15 Uhr
Habe es gefunden, scheint aktiviert zu sein.
In was für ein File (Ext) muss ich das script abspeichern?

Danke und viele Grüsse,
Jonas
einstellung - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: colinardo
18.06.2018, aktualisiert um 17:22 Uhr
Das ist nur die ISE nicht Powershell selbst, aber wenn die ISE installiert ist und du sie aufrufen kannst ist die Powershell installiert , dann ist sie entweder deaktiviert oder nicht im PATH eingetragen, dann musst du stattdessen den kompletten Pfad zur powershell.exe im Skript angeben
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
In was für ein File (Ext) muss ich das script abspeichern?
Normal als *.bat oder *.cmd. Das Skript packt einfach nur die Powershell-Befehle in eine Batch-Zeile das was du ja in deiner Frage wolltest.
Bitte warten ..
Mitglied: colinardo
18.06.2018, aktualisiert um 17:37 Uhr
Falls du es wider erwarten damit nicht geregelt bekommst, hier das ganze noch als VBS:
Code in Textdatei mit der Endung *.vbs speichern, Pfad und Wert anpassen und Doppelklick.
01.
Dim path,xmldoc,node
02.
path = "D:\activeSite.xml"
03.
Set xmldoc = CreateObject("msxml2.domdocument")
04.
xmldoc.async = False
05.
xmldoc.load path
06.
Set node = xmldoc.selectSingleNode("/iltisap/activeSite")
07.
if not node is nothing then
08.
    node.attributes.getNamedItem("value").text = "ANLAGE2"
09.
    xmldoc.save path
10.
end if
11.
MsgBox "Fertig"
Die "MsgBox" in der letzten Zeile ist nur für deinen Test damit du weist das das Skript ausgeführt wurde (kannst du hinterher raus nehmen).

Generell gilt die Devise: XML-Dateien sollte man nur wie oben mit einem XML-Parser verändern. String-Replace wirklich nur in Ausnahmefällen wenn es nicht anders geht.

Viel Erfolg.
Grüße Uwe
Bitte warten ..
Mitglied: JJSchumacher
19.06.2018 um 08:48 Uhr
Das funktioniert perfekt, vielen Dank.

Absolut genialer Support hier, gefällt mir super.

Wünsche euch noch eine schöne Woche und bis bald.

LG Jonas
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Inhalt einer XML Datei Script ändern

gelöst Frage von chris27584VB for Applications4 Kommentare

Hallo zusammen, in folgendem Script <?xml version="1.0"?> -<SkClientConfig xmlns:xsi=" xmlns:xsd=" <LastServerIndex>1</LastServerIndex> <LastUser>11111</LastUser> <LastWorkplace>2358</LastWorkplace> -<SerializableFont> <FontValue>Microsoft Sans Serif; 8,25pt</FontValue> </SerializableFont> ...

Batch & Shell

XML-Inhalt austauschen

gelöst Frage von noscriptBatch & Shell10 Kommentare

Hallo zusammen Nachdem ich nun das komplette Internet gefühlt zwei Mal gelesen, aber nicht kapiert habe, versuch ichs nun ...

Batch & Shell

XML-Inhalt austauschen V2

gelöst Frage von noscriptBatch & Shell2 Kommentare

hi mit folgendem Script bearbeite ich xml's welche in einem ordner abgelegt sind. nun möchte ich das script so ...

XML

XML Datei Fehler?

Frage von Patrick-ITXML1 Kommentar

Hallo zusammen ich benutze Sysprep, um ein Image von einer Maschine zu machen und lade dieses dann auf einem ...

Neue Wissensbeiträge
LAN, WAN, Wireless
OPNsense Captive Portal mit vordefnierten Voucher
Tipp von Crusher79 vor 1 TagLAN, WAN, Wireless

Hallo, Ziel war es vorhandene Klienten-Daten (Nummer im System) und Kennwörter anzulegen. Voucher werden durch externes Programm in Papierform ...

Administrator.de Feedback
Entwicklertagebuch: Die nächste Version
Information von admtech vor 2 TagenAdministrator.de Feedback6 Kommentare

Hallo Administrator User, vielleicht haben es einige User schon mitbekommen: Wir arbeiten aktuell an einer komplett neuen Version von ...

Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 6 TagenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 6 TagenExchange Server5 Kommentare

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Heiß diskutierte Inhalte
Router & Routing
Anmeldung am Router von einer ext. IP?
Frage von BigSnakeyeRouter & Routing15 Kommentare

Hallo, ich habe gerade seltsames in meiner Fritzbox entdeckt. Plötzlich war die Verbindung unterbrochen - kein Internet. Also habe ...

Drucker und Scanner
Gerät kann nur auf serielle Drucker drucken! Umleiten an Netzwerkdrucker möglich?
Frage von RG2525Drucker und Scanner13 Kommentare

Hallo, Da ich öfters Festplatten löschen muss, habe ich ein externes HD Dock gekauft, dass HDs selbständig löscht und ...

Router & Routing
Zwei Subnetze - Archer bzw. Fritz.box
Frage von mili988Router & Routing13 Kommentare

Hallo liebe Gemeinde, sorry, denke, die Frage ist sicher x-mal bereits aufgetaucht aber hier noch einmal :-) Ich habe ...

Windows Server
Fehler beim Installieren des RD-Verbindungsbrokers
gelöst Frage von dbox3Windows Server12 Kommentare

Hallo zusammen, ich habe einen Windows Server 2019 als VM auf einem ESXi 6.7 U2 frisch installiert. Mit dem ...