Mit einer .bat Datei eine .xml Datei Bearbeiten?

3 Antworten

Teile zunächst deine xml-Datei auf 3 Dateien auf:
1. Datei = alles vor deinem Wert
2. Datei = nur der reine Zahlenwert
3. Datei = alles nach deinem Wert

Das sieht dann zB so aus:

davor.xml

<?xml version="1.0" encoding="UTF-8">
<beispiel>
    <deinWert>
   

wert.xml

34325

danach.xml

    </deinWert>
</beispiel>

Die Batch-Datei:

:: increment wert.xml
set /P wert=<wert.xml
set /A wert+=1
:: rewrite  wert.xml
echo %wert%>wert.xml

:: combine files
copy davor.xml + wert.xml + danach.xml ergebnis.xml

Falls du die Datei nicht manuell (oder gar nicht) aufteilen möchtest, brauch ich mehr infos, wie man deinen Wert in der xml-Datei finden kann.

~Tim

Woher ich das weiß:Hobby

boah das ist eklig es mit ner bat zu machen, aber ok mir fällt da ein Umweg ein:

Die xml jedes mal neu zu schreiben, also alles vor dem Wert in ne txt, alles nach dem Wert in ne txt und den Wert in ne txt. Dann halt bei jedem Aufruf die xml neu aus den Dateien schreiben und den Wert in der txt datei erhöhen.

Die zu inkrementierende Zahl steht in einer Datei wert.txt

Deine Batch liest diesen Wert ein

set /p altezahl=<wert.txt

Dann wird 1 addiert

set /a neuezahl=%altezahl%+1

Jetzt hast Du den inkrementierten Wert in der Variablen neuezahl und kannst mit dieser Deine XML-Datei neu schreiben.

Danach musst Du noch den inkrementierten Wert in der Datei wert.txt abspeichern

echo %neuezahl% > wert.txt

Alex