kikimiki
Goto Top

Xml kopieren und ändern - per Batch möglich?

Hallo,

ich hoffe ihr könnt mir hier helfen. Ich habe eine xml-Datei vom Kunden.
Diese Datei liegt lokal im Ordner Input (C:\Input)
Für einen Test brauche ich 5000 xml Dateien.

Die 5000 xml Dateien würden sich nur an einer Stelle unterscheiden. Der Rest der xml ist komplett gleich.

Und zwar hab ich in Zeile 9 folgenden Tag:

<Kundennummer>8000</Kundennummer>

Diese hätte ich jetzt pro Datei fortlaufend also:

Datei1:
<Kundennummer>8000</Kundennummer>

Datei2:
<Kundennummer>8001</Kundennummer>
.
.
.
Datei5000:
<Kundennummer>13000</Kundennummer>

Das einzige was ich momentan habe ist Datei1.

Wie würdet ihr vorgehen?


Die Datei 1 5000 mal zu kopieren und die Kundennummer immer um 1 zu erhöhen ist sehr anstrengend.

Wäre euch für jeden Tip dankbar

Content-Key: 139042

Url: https://administrator.de/contentid/139042

Printed on: April 25, 2024 at 12:04 o'clock

Member: bastla
bastla Mar 24, 2010 at 11:58:20 (UTC)
Goto Top
Hallo KikiMiki!

Wenn Du die Vorlagedatei aufteilst und aus den Zeilen 1-8 die Datei "Teil1.txt" (ohne Zeilenumbruch am Ende der Zeile 8) und aus den Zeilen ab 10 die Datei "Teil2.txt" erstellst, könnte ein (ungetesteter) Batch etwa so aussehen:
@echo off & setlocal
set "X=D:\XML-Datei"  
set "T1=D:\Datei1.txt"  
set "T2=D:\Datei2.txt"  
set /a Von=10001
set /a Bis=15000

for /L %%i in (%Von%, 1, %Bis%) do call :CreateFile %%i
goto :eof

:CreateFile
set DNr=%1
set /a KNr=%1-10000+7999
set "Datei=%X%%DNr:~-4%.xml"  
> "%Datei%" type "%T1%"  
>>"%Datei%" echo ^<Kundennummer^>%KNr%^</Kundennummer^>  
>>"%Datei%" type "%T2%"  
goto :eof
[Edit] Fehlendes Leerzeichen nach "type" ergänzt. [/Edit]

Grüße
bastla