Mit Batch-Skript ein definiertes RecID-Feld in XML-Schema finden
Guten Tag,
ich bin neu hier und möchte um euren geschätzten Rat bitten. Ich habe hier bei Recherchen bereits häufig Hilfe gefunden und mich insbesondere aus diesem Grund in diesem Forum angemeldet. Auch wenn es zunächst nicht so wirken mag, habe ich bzgl. meines Problems bereits einige Stunden an Recherche und Tests investiert. Ich habe bereits einige gute Ansätze gefunden, allerdings ist mir der Durchbruch bisher leider noch nicht gelungen.
Aufgabenstellung:
Ich benötige ein Batch-Skript, welches in einer XML-Datei eine Zeile mit einem bestimmten Eintrag Tag findet. Dieses ist wie folgt aufgebaut:
Wenn ein entsprechendes Tag gefunden wurde, soll eine Programmupdate ausgeführt werden
Probleme:
- Ich kann auf den Systemen nicht auf Powershell oder andere nützliche Programme zurückgreifen
- ich schaffe es nicht, den String so zu maskieren/escapen, dass die Funktionen Find oder Findstr damit umgehen können
- es gibt einige ähnliche Elemente, daher ist es mir zu riskant nach einem Schnipsel aus dem String zu suchen
Folgenden Ansatz verfolge ich aktuell:
Ich bin für jede Hilfe sehr dankbar.
Viele Grüße
Kartoffelpelle
ich bin neu hier und möchte um euren geschätzten Rat bitten. Ich habe hier bei Recherchen bereits häufig Hilfe gefunden und mich insbesondere aus diesem Grund in diesem Forum angemeldet. Auch wenn es zunächst nicht so wirken mag, habe ich bzgl. meines Problems bereits einige Stunden an Recherche und Tests investiert. Ich habe bereits einige gute Ansätze gefunden, allerdings ist mir der Durchbruch bisher leider noch nicht gelungen.
Aufgabenstellung:
Ich benötige ein Batch-Skript, welches in einer XML-Datei eine Zeile mit einem bestimmten Eintrag Tag findet. Dieses ist wie folgt aufgebaut:
<AaaVersion name="Graka AB" value="B017 " />
Probleme:
- Ich kann auf den Systemen nicht auf Powershell oder andere nützliche Programme zurückgreifen
- ich schaffe es nicht, den String so zu maskieren/escapen, dass die Funktionen Find oder Findstr damit umgehen können
- es gibt einige ähnliche Elemente, daher ist es mir zu riskant nach einem Schnipsel aus dem String zu suchen
Folgenden Ansatz verfolge ich aktuell:
@echo on
SETLOCAL
set filedir=C:\Ordner\Unterordner
type %filedir%\Versions.xml | find "^<AaaVersion name=^"Graka AB^" value=^"B017 ^" /^>"
echo %errorlevel%
pause
Ich bin für jede Hilfe sehr dankbar.
Viele Grüße
Kartoffelpelle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 421979
Url: https://administrator.de/contentid/421979
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
type "%filedir%\Versions.xml" | find "<AaaVersion name=""Graka AB"" value=""B017 "" />"
Aber unabhängig davon - kannst du nicht wenigstens VBScript oder JScript einbinden um über das DOM auf die Daten zuzugreifen? Batch ist absolut ungeeignet für XML.
Steffen
Auf die Gefahr hin
Nein, Microsoft hat das nicht vernünftig dokumentiert. Das ist nicht dein Fehler.Natürlich findet man solche Informationen auf einschlägigen Seiten, z.B.
https://www.robvanderwoude.com/escapechars.php
Steffen