Wert aus einer XML datei auslesen und als parameter an msiexec befehl übergeben
Hallo Zusammen,
ich möchte gerne einen bestimmten wert aus einer XML datei auslesen und an einer bestimmten stelle eines batch befehls wieder einfügen.
Beipiel:
Das XML file liegt an einem fest definierten ort auf der festplatte
C:\xml\test\test.xml
In dem file gibt es mehrere container, die zeile wo der container steht kann unterschiedlich sein. Der benötigte container enthält eine identnummer.
<ID>8012388840234</ID>
Jetzt wird ein msi file ausgeführt an das der wert übergeben werden soll.
msiexec.exe software.msi /i /qn IDENTCODE=8012388840234
Hat jemand eine ahnung wie man das am besten angeht?
Das XML file liegt an einem fest definierten ort auf der festplatte
C:\xml\test\test.xml
In dem file gibt es mehrere container, die zeile wo der container steht kann unterschiedlich sein. Der benötigte container enthält eine identnummer.
<ID>8012388840234</ID>
Jetzt wird ein msi file ausgeführt an das der wert übergeben werden soll.
msiexec.exe software.msi /i /qn IDENTCODE=8012388840234
Hat jemand eine ahnung wie man das am besten angeht?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-Key: 197698
Url: https://administrator.de/contentid/197698
Ausgedruckt am: 29.03.2024 um 10:03 Uhr
7 Kommentare
Neuester Kommentar
Hallo Screenactive,
aus den Infos oben werde ich nicht schlau. Dein Problem kann ja nicht sein, die ID 8012388840234 zu finden, sondern einen bestimmten Container, der eine ID enthält, ZUM BEISPIEL 8012388840234. Woran erkennt man denn diesen Container? Etwas mehr Infos zum Aufbau der XML-Datei musst Du schon liefern.
Gruß
Friemler
aus den Infos oben werde ich nicht schlau. Dein Problem kann ja nicht sein, die ID 8012388840234 zu finden, sondern einen bestimmten Container, der eine ID enthält, ZUM BEISPIEL 8012388840234. Woran erkennt man denn diesen Container? Etwas mehr Infos zum Aufbau der XML-Datei musst Du schon liefern.
Gruß
Friemler
Hallo Screenactive,
teste mal folgendes:
Gruß
Friemler
teste mal folgendes:
@echo off & setlocal
set "InFile=C:\xml\test\test.xml"
set "ContainerName=ID"
for /f "tokens=2 delims=^<^> " %%a in ('findstr /i /r /c:"<%ContainerName%>[0-9]*</%ContainerName%>" "%InFile%"') do (
set "ID=%%a"
)
if "%ID%" neq "" (
echo %ID%
) else (
echo Container nicht gefunden
)
Gruß
Friemler
Zitat von @Screenactive:
Und wie kann ich den ausgelesenen wert jetzt an einer anderen stelle im script hinzufügen.
Und wie kann ich den ausgelesenen wert jetzt an einer anderen stelle im script hinzufügen.
Die Frage hast Du doch oben schon beantwortet...