Bonjour,
Je cherche à automatiser le traitement d'un fichier texte, dont le contenu est comme ceci :
*** SYSTEM INFORMATION MESSAGE 6916 (DFMSYN)
DECOMP ORDERING METHOD CHOSEN: BEND, ORDERING METHOD USED: BEND
*** USER INFORMATION MESSAGE 3035 (SOLVER)
FOR DATA BLOCK KLR
<gras> SUPPORT PT.NO. EPSILON STRAIN ENERGY <gras>
1 3.2648184E-15 -2.0027161E-05
2 3.2648184E-15 -9.5367432E-07
3 3.2648184E-15 -1.9073486E-06
4 3.2648184E-15 -7.4505806E-08
5 3.2648184E-15 -7.4505806E-09
6 3.2648184E-15 8.9406967E-08
*** SYSTEM INFORMATION MESSAGE 6916 (DFMSYN)
DECOMP ORDERING METHOD CHOSEN: BEND, ORDERING METHOD USED: BEND
J'ai créer le batch suivant (qui ne marche pas !):
@echo off
cls
findstr /n /l . fichier.txt EPSILON > %%k
for /f "tokens=1,* delims=:" %%i in ('findstr /n /r . fichier.txt') do if %%i geq %%k if %%i leq %%k+6 echo %%j >> fichier2.txt
echo on
Mon but est de sortir dans un autre fichier texte, les 6 lignes qui suivent la ligne contenant la chaîne EPSILON.
Pour cela, j'ai pensé utiliser la commande FINDSTR afin de localiser cette ligne, puis ensuite une boucle FOR pour extraire les lignes concernées.
Je n'arrive pas à sortir uniquement le numéro de ligne du FINDSTR afin de le placer dans ma variable %%k.
Et je ne suis pas sur non plus de la manière d'incrémenter %%k.
Si quelqu'un pouvait m'orienter ce serait très sympa !
Merci d'avance.
Configuration: Windows XP
Firefox 2.0.0.12