Per Batch ein Datum in einer XML-Datei auf das aktuelle Datum aktualisieren
Hallo Zusammen,
ich hab hier ein kleines Problem. Wird für euch wahrscheinlich ein Klacks sein, aber ich verzweifle hier seit Stunden.
Ich hab schon einige gute Ansätze hier gefunden, aber auf einen grünen Zweig bin ich leider noch nicht gekommen...
Ich habe eine kleine XML-Datei für eine Abfrage an einen Host.
Darin befindet sich auch das aktuelle Datum im Format JJJJ-MM-TT.
Momentan stelle ich mich jeden Tag hin, Rechtsklick -> Bearbeiten -> aktuelles Datum -> speichern -> zum Host schicken.
Geht das nicht auch automatisiert per Batch-Datei?
Das Datum bekomme ich ja mit %date:~6,4%-%date:~3,2%-%date:~0,2%, das wäre nicht das Problem.
Aber wie bekomme ich das an die richtige Stelle in die XML-Datei?
Das ist der Inhalt der Datei:
<?xml version="1.0" encoding="IBM850"?><MBd_O_Booking_Test_index><header>
<Version>1</Version></header><body><MAIN><AccountNumber>1234567890</AccountNumber><StartDate>2017-12-01</StartDate><SelectionIsOnBookingDate>1</SelectionIsOnBookingDate></MAIN></body></MBd_O_Booking_Test_index>
Alles in einer Zeile. Das Datum steht auch immer an der gleichen Position.
Man könnte ja theoretisch die 10 Zeichen zwischen 168. und 178. Stelle löschen und darin das aktuelle Datum einfügen.
Wäre das möglich?
Vielen Dank schon mal für das Kopf-zerbrechen ;)
Grüße
Matthias
ich hab hier ein kleines Problem. Wird für euch wahrscheinlich ein Klacks sein, aber ich verzweifle hier seit Stunden.
Ich hab schon einige gute Ansätze hier gefunden, aber auf einen grünen Zweig bin ich leider noch nicht gekommen...
Ich habe eine kleine XML-Datei für eine Abfrage an einen Host.
Darin befindet sich auch das aktuelle Datum im Format JJJJ-MM-TT.
Momentan stelle ich mich jeden Tag hin, Rechtsklick -> Bearbeiten -> aktuelles Datum -> speichern -> zum Host schicken.
Geht das nicht auch automatisiert per Batch-Datei?
Das Datum bekomme ich ja mit %date:~6,4%-%date:~3,2%-%date:~0,2%, das wäre nicht das Problem.
Aber wie bekomme ich das an die richtige Stelle in die XML-Datei?
Das ist der Inhalt der Datei:
<?xml version="1.0" encoding="IBM850"?><MBd_O_Booking_Test_index><header>
<Version>1</Version></header><body><MAIN><AccountNumber>1234567890</AccountNumber><StartDate>2017-12-01</StartDate><SelectionIsOnBookingDate>1</SelectionIsOnBookingDate></MAIN></body></MBd_O_Booking_Test_index>
Alles in einer Zeile. Das Datum steht auch immer an der gleichen Position.
Man könnte ja theoretisch die 10 Zeichen zwischen 168. und 178. Stelle löschen und darin das aktuelle Datum einfügen.
Wäre das möglich?
Vielen Dank schon mal für das Kopf-zerbrechen ;)
Grüße
Matthias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 356767
Url: https://administrator.de/forum/per-batch-ein-datum-in-einer-xml-datei-auf-das-aktuelle-datum-aktualisieren-356767.html
Ausgedruckt am: 04.05.2025 um 05:05 Uhr
4 Kommentare
Neuester Kommentar

XML Dateien sollte man immer mit einem Parser bearbeiten und nicht als reine Strings behandeln.
Gruß @specht
@echo off
set "xmlfile=c:\pfad\datei.xml"
Powershell -Executionpolicy ByPass -Command "$xml = New-Object XML; $xml.Load('%xmlfile%'); $xml.MBd_O_Booking_Test_index.body.MAIN.StartDate = (get-date).toString('yyyy-MM-dd'); $xml.Save('%xmlfile%')"

Sorry, Typos sind korrigiert. Hier geht's jetzt problemlos.
.
Powershell ist natürlich auch ein guter Ansatz
Das ist "Batch", nur mit etwas Powershell gewürzt