Bonjour,
Je reçois des fichiers qui comprennent plusieurs fichiers .xml concaténés en un seul.
J'ai donc dans ceux-ci plusieurs lignes avec la balise <?xml et je ne peux pas les traiter sur mon Iséries qui considère que c'est une anomalie.
J'ai donc pensé éclater mon fichier avec un compteur à chaqe fois que je rencontre cette balise, par le batch que voici.
set fichier=e:\Temp\RelPrel.xml
setlocal enabledelayedexpansion
set /a num=0
If not exist "%fichier%" (goto fin)
for /f "tokens=1 delims=:" %%I in ('type "%fichier%"') do (
if %%I=="<?xml version="1.0" encoding="UTF-8"?>" (
set /a num+=1
)
echo %%I>>e:\Temp\RelPrel-%date:~-4,4%%date:~-7,2%%date:~-10,2%-!num!.xml
)
:fin
endlocal
Il semble que le test : if %%I=="<?xml version="1.0" encoding="UTF-8"?>" ne fonctionne pas car le compteur reste à 0
De plus la ligne suivante qui est : <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> n'est pas copiée en entier et je n'ai que : <Document xmlns="urn
Je pense que le .bat est géné par les " car les autres enregistrements sont correctement copiés.
Quelqu'un peut-il me venir en aide, je tourne en rons depuis des jours.
Merci