Findstr, si trouvé m'afficher la 7ème ligne en dessus

Résolu/Fermé
PogiAko Messages postés 11 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 24 juin 2016 - 21 juin 2016 à 19:04
PogiAko Messages postés 11 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 24 juin 2016 - 24 juin 2016 à 11:37
Bonjour,

J'aurai besoin d'aide sur le sujet suivant:
J'aimerai faire un findstr sur un fichier, si le mot est trouvé, j'aimerai qu'on m'affiche la 7ème ligne en dessus de ce mot sur un notepad.

merci pour votre aide.

Cordialement
A voir également:

1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 juin 2016 à 12:20
hello
c contient la chaine à chercher
f contient le nom du fichier
@echo off
set c=chaine
set f=fichier.txt
setlocal enableDelayedExpansion
for /f "delims=: tokens=1" %%a in ('findstr /n %c% %f%') do (
set l=%%a
)
set /a l-=7
for /f "delims=: tokens=1,2" %%a in ('findstr /n . %f%') do (
set x=%%b
if %%a EQU !l! goto finxxx
)
:finxxx
echo %x%
1
PogiAko Messages postés 11 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 24 juin 2016
22 juin 2016 à 16:00
Hello,

Merci dubcek pour ta réponse, le script fonctionne à merveille.
Enfin de compte j'aimerai changer ma stratégie:
j'aimerai copier/couper tous les contenus d'une balise dans un fichier commencant par " { " et finissant par " -} " et le copier/couper dans un nouveau fichier .txt

Merci beaucoup.

Cordialement,
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 juin 2016 à 16:02
montre un exemple de texte
0
PogiAko Messages postés 11 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 24 juin 2016
22 juin 2016 à 16:09
Ça ressemble à ça il peut y en avoir plusieurs dans un fichier


{1:AAAA}{AAAA}A:{AAAA}}{A:
:16R:AAAA
:20C::AAAA
:23G:AAAA
:98A::AAAA
:16R:AAAA
:13A::AAAA
:20C::AAAA
:16S:AAAA
:16R:AAAA
:25D::AAAA
:16S:AAAA
:16S:AAAA
:16R:AAAA
:98A::AAAA
:98A::AAAA
:22H::AAAA
:22H::AAAA
:36B::AAAA
:35B:AAAA
:16S:AAAA
-} {BBBBB}{BBBB}{B:{BBBB}}{B:
:16R:BBBB
:20C::BBBB
:23G:BBBB
:98A::BBBB
:16R:BBBB
:13A::BBBB
:20C::BBBB
:16S:BBBB
:16R:BBBB
:25D::BBBB
:16S:BBBB
:16S:BBBB
:16R:BBBB
:98A::BBBB
:98A::BBBB
:22H::BBBB
:22H::BBBB
:36B::BBBB
:35B:BBBB
:16S:BBBB
-}
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 23/06/2016 à 09:19
compliqué à faire en DOS/ bat
on peut utiliser des commandes Unix pour DOS comme sed ou awk
0
PogiAko Messages postés 11 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 24 juin 2016 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
23 juin 2016 à 12:00
Malheureusement nous n'avons pas d'UNIX :(
0