1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
::@echo off
setlocal EnableDelayedExpansion
::déclaration des variables plus initialisation
::début du lot de données
set start=0
::fin du lot de données
set end=205
::récupération de la variable dans LINE.
::Variable=ligne de donnée transmise lors de l'appel du script
set LINE=%1
::modification du caractère esperluette en E majuscule
set LINE=%LINE:&=E%
::soustraction des guillemets transmis lors du passage de la variable par le précédent script
set LINE=%LINE:~1,-2%
::début de la boucle
:continue
::si la ligne est vide, passer à la fin du fichier
if "!LINE!" == "" (goto :fin_ligne)
::récupération d'une première donnée: IDEN
set IDEN=%LINE:~0,1%
::Test: si IDEN égale 1, récupérer le reste des données. Sinon, récupérer le prochain lot de données
::if "%IDEN%"=="1" ( goto :suite ) else ( goto :boucle )
:suite
set NUMENR=%LINE:~1,8%
echo numero d'enregistrement: %NUMENR%
set REF=%LINE:~9,19%
echo reference: %REF%
...
set DATEOPEN=%LINE:~62,8%
set day=%DATEOPEN:~0,2%
set month=%DATEOPEN:~2,2%
set year=%DATEOPEN:~4,4%
set DATEOPEN=%day%/%month%/%year%
echo date ouverture: %DATEOPEN%
...
::après récupération des données, augmenter les limites du lot de 205
:boucle
set /a start=%end%
set /a end=%end%+205
::récupérer la même ligne, mais à partir du 205ième caractères jusqu'à la fin
set LINE=!LINE:~%start%!
goto :continue
::fin de la ligne, fin de la boucle, fin du monde
:fin_ligne
ENDLOCAL
set LINE=
::set start=0
::set end=206 |
Partager