Mit einer .bat Datei eine .xml Datei Bearbeiten?
Hallo ich möchte mithilfe einer .bat Datei eine Zahlenziffer in einer .xml Datei ändern.
Damit ich diese nicht immer wieder Manuel ändern muss.
Die .bat Datei soll in der .xml Datei einfach der Zahlenziffer +1 rechnen.
z.B:
xxxxxxxx xx
xxxxxxxx xx
xxxxxxx xx
xxxxxx "34325252356" xxxx xxxx
xxxxx xxx
xxxxxx
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
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