Extraction du contenue d'un fichier

Bonjour,

Vue que le fils est clôturé https://forums.commentcamarche.net/forum/affich-2256829-batch-extraction-chaine-de-caracteres

Je me permet de relancer une discussion et étant donnée que je suis plus ou moins dans le même cas, ci dessous les quelque spécificités
- les info a rechercher sont dans un répertoire qui est généré de façon journalière , le répertoire est préfixé avec la date du jour
- les fichiers sont des fichiers texte sans extensions , les fichiers sont préfixé eux aussi
- dans x fichier je recherche des termes bien précis, donc connu à l'avance
- dans x fichier je cherche un contenu pas connu à l'avance, mais on peux utiliser les délimiteurs (Cf pièce jointe)
- le résultats doit être inscrit dans deux fichier séparés

Merci d'avance de vôtre coup de main

Bien à vous

------------------------------------------------------------------------------------------------------------------------------------
! MaBoite                                                                                                       XXX-123-XXXXY      !
!                                                                                                                                  !
!                                            UTILISATEURS CREES, MODIFIES OU SUPPRIMES                                             !
!                                                                                                                                  !
! Date    ...:  14 Juin   2018 a  01:09                                                                         Page : 1           !
! Agence  ...:  11111 - AZERTYIOP                                                                                                  !
------------------------------------------------------------------------------------------------------------------------------------
!   Nom    !           Nom           !Mot de!Ser.!Sus!Dec-ges!F!No !                    Profil client a exclure                    !
!   Red.   !       Imprimante        !Passe !    !   !       !o!dep!                     Gestionnaire autorise                     !
!  Prof.   ! Utilisateur intervenant !      !    !   !       ! !   !       Type de compte et classe comptable     autorise         !
------------------------------------------------------------------------------------------------------------------------------------
!QWERTY    !TINTI LONGO HELENE ODETTE!      !3400! N !N-N-   !1!   !Prof..:998 997 111 142 149 995 996 907                         !
!          !IMP-KNG06                !      !    !   !       ! !   !Gest.:***                                                      !
!0033      !MUKANYA-MUKANYA-MUKANYA  !      !    !   !       ! !   !*** 0*****     3*****     4*****     5*****     7*****         !
------------------------------------------------------------------------------------------------------------------------------------




3 réponses

  1. Modérateur
    Bonjour,

    Je ne suis pas sur de pouvoir répondre à ta question, mais là j'interviens pour te demander de la préciser.

    Car :
    - dans x fichier je recherche des termes bien précis, donc connu à l'avance
    - dans x fichier je cherche un contenu pas connu à l'avance ...


    On ne voit pas ce que tu veux faire. Avec ton exemple de fichier, il faudrait que tu explicites la question et la réponse que tu recherches.
    0
    1. Bonjour
      Merci pour la remarque, ci dessous plus de détails

      - dans x fichier je recherche des termes bien précis, donc connu à l'avance
      Dans le dossier il existe deux fichier , et a l'intérieur je vais chercher un ou plusieurs mots, ci ceux existent alors je voudrais extraire la ligne dans la quelle ils apparaissent

      - dans x fichier je cherche un contenu pas connu à l'avance ...
      Toujours dans le même dossier il existe des fichiers comme celui fournis en exemple et je voudrais extraire le contenu encerclé et le nom du fichier dans le quel il a été extrait

      je ne sais pas si c'est clair

      Merci encore
      0
      1. Modérateur
        Il te faut regarder vers les commande FOR, FORFILES, FIND et FINDSTR

        https://fr.wikibooks.org/wiki/DOS/Findstr
        https://fr.wikibooks.org/wiki/DOS/For

        J'ai jeté un coup d'oeil mais là, je n'ai plus le temps.

        J'étais sur

        1/
         FOR /R %%i IN (*.log) DO FINDSTR /L /I /N "QWERTY" %%i && echo fichier %%i


        recherche de QWERTY dans des fichiers .log

        2/
        FOR /F "usebackq skip=12 tokens=1,2,3* delims=!" %%A IN ('dir /b /s *.log') DO echo %%A %%B


        mais ce n'est pas bon, il faut probablement 2 FOR imbriqués, un pour les fichier, le second sur le contenu
        0
      2. C'est déjà un bon début
        0
      3. Merci
        0
    2. Bonjour

      Avec des regex, je ne sais pas comment on les implemente en batch, mais j’ai vu des tutos.

      Voici un exemple qui extrait la valeur Red.
      \!   Red\.   \! *\b(\w+)\b


      Voir l’onglet Table
      0