Bonjour à tous!

Je débute en scripts/batch pour le compte d'un stage et je galère un peu à écrire un script.

Voilà mon problème. Je dois normaliser un fichier texte contenant des zones de coordonnées géographiques (longitudes et latitudes) correspandants à des couvertures satellite. Le fichier est sous cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
[FormatInfo]
format_ver=1
[GeoMain]
adm=USA
sat_name=INTELSAT
long_nom=64.15
[COHeader]
beam_id=Z4
n_cont=19
[C1]
gain=-9.00
n_point=618
p1=144.931;19.459
p2=144.903;19.938
p3=144.885;20.244
p4=144.868;20.521
(...)  /* J'ai coupé il y a 618 lignes*/
[C2]
gain=-3.00
n_point=208
p1=98.014;-5.885
p2=98.139;-5.806
p3=98.290;-5.705
p4=98.696;-5.389
(...)
[C3]
gain=-2.00
n_point=73
p1=138.951;28.343
p2=144.221;28.826
p3=144.221;28.833
p4=144.218;28.864
(...)
etc...
n_cont est le nombre de surfaces différentes (couverture satellite difinie par un ensemble de sommets),gain une valeur à récupérer et n_point le nombre de points par surface.


Je chercher à mettre en place un script qui respecterait l'algorithme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo beam_id;gain;longitude;latitude >> coverage.txt
* Trouver valeur de 'n_cont='
* Stocker %n_cont%
for /L %%i in (1,1,%n_cont%) do (
  * Trouver ligne [C%i]   
  * Trouver valeur de 'gain=' 
  * Trouver valeur de 'n_point=' 
  * Ligne suivante
  for /L %%j in (1,1,%n_point%) do (
      set %i%;%gain%; > coverage.txt  //insérer les valeurs dans le fichier texte
    * décaler curseur après "p%j%="
    * insérer fin de la ligne dans fichier texte ( qui vaut "lon;lat"
    * ligne suivante
  )
)
A termes mon but est de générer un fichier texte normalisé en colonnes afin de pouvoir facilement le charger dans une base de données SQL.

Je cherche donc à parcourir proprement les lignes de mon fichier texte (une par une à partir des p1,p2,p3...) et en extraire des valeurs ou des portions de lignes, ne garder que "138.951;28.343" sur "p1=138.951;28.343" par exemple.

J'ai vu cette solution qui semble se rapprocher de ce que j'aimerais faire. Mais je vous avoue ne pas avoir assez de bouteille dans ce language pour l'adapter à ma sauce.
Avis donc à âme charitable pour un petit coup de pouce. Merci!!