Afficher une chaîne issue d'un fichier texte

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Cyboulette
Batcheur occasionnel
Messages : 5
Enregistré le : 10 mars 2009 00:48

Afficher une chaîne issue d'un fichier texte

Message par Cyboulette »

Bonjour,
J'aimerais savoir si quelqu'un a déjà réussi à sortir d'un fichier log une partie d'une chaîne cherchée via findstr ou find.
Ma problématique serait la suivante :
La première partie de mon batch me concatène plusieurs fichiers dans un seul avec les commandes suivantes :
del /q resultat.txt
type *.txt | find /i "chaine" >> resultat
rename resultat resultat.txt
La chaine cherchée se trouve à la colonne 131, je me demandais s'il serait possible de l'afficher et de la compter dans un fichier, exemple :
rem for /f "delims=" %%a in ('find "chaine" resultat.txt') do set pieces=%%a:~0,131%%
Pour corser le tout, la chaine peut varier (il s'agit d'un nombre de pièces), donc j'aimerais la chercher avec les caractères jokers (les points je crois).
La chaine se trouverait entre deux positions définiées dans un fichier texte (exemple entre la position 131 et 135).
J'ai déjà fait un batch qui affiche une partie d'une valeur avec un echo %valeur:~25% mais jamais plusieurs valeurs à la suite listées dans un fichier.
Je sèche. Au secours !
Cyboulette
Batcheur occasionnel
Messages : 5
Enregistré le : 10 mars 2009 00:48

Re: Afficher une chaîne issue d'un fichier texte

Message par Cyboulette »

Re-bonjour,

Je sèche toujours.
Le but du jeu serait d'extraire de chaque ligne d'un fichier pré-formaté une partie de texte située entre deux positions définies.
Par exemple, sortir les 4 caractères entre la position 131 et 135 d'un fichier texte et concaténer les résultats dans un autre fichier.
Le fichier texte de départ ne possède pas de délimitations, donc difficile d'utiliser un tokens/delims.

Merci de votre aide !

Cyboulette
sam06
Batcheur débutant
Messages : 12
Enregistré le : 20 nov. 2008 18:17

Re: Afficher une chaîne issue d'un fichier texte

Message par sam06 »

Pour ma part j'ai un fichier TXT dont certaines lignes contiennent un code emetteur en position 92 sur 16 caractères, que j'arrive à afficher avec la fonction findstr ; de là, la redirection vers un fichier ne devrait pas poser de pb ;)

Code : Tout sélectionner

@ echo off
for /f "delims=" %%i in ('type "fichier.txt" ^|findstr /i /r "EMETTEUR:"') do set LINE=%%i& call :sub
goto fin

:sub
REM echo %LINE%
echo  %LINE:~92,16%
pause

:fin
Cyboulette
Batcheur occasionnel
Messages : 5
Enregistré le : 10 mars 2009 00:48

Re: Afficher une chaîne issue d'un fichier texte

Message par Cyboulette »

Un grand merci pour cette piste qui va sûrement beaucoup m'aider et toutes mes excuses pour le retard...
Répondre