IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Récupérer plusieurs lignes de plusieurs fichiers dans un seul


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Par défaut Récupérer plusieurs lignes de plusieurs fichiers dans un seul
    Aloha
    Je cherche toutes les lignes commençant par "FILL|" dans l'ensemble de mes fichiers *.par.
    Un script tel que celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo on
    set source=V:\visu_fr\definition
    echo %source%
    :-
    for /r "%source%" %%a in (*.par) do (
    find "FILL|" %%a) 
    pause
    fonctionne parfaitement. Cependant, comment faire pour avoir toutes les lignes (sans le nom du fichier en entête) dans un seul et même fichier.
    Cordialement,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    Utilise "echo %%a >> nom de ton fichier"

  3. #3
    Membre confirmé Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Par défaut
    Désolé Sokai, mais je ne vois pas en quoi cela peut m'aider.
    Non. la bonne réponse, que je viens de trouver est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo on
    set source=V:\visu_fr\definition
    echo %source%
    :-
    for /r "%source%" %%a in (*.par) do (
    find "FILL|" %%a) >>c:\remplissage.txt
    pause
    Cependant, maintenant j'obtiens un résultat de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ---------- V:\VISU_FR\DEFINITION\PLAN_AGGLO_COULEUR_THEMA.PAR
    FILL|	0
    FILL|	-2
    FILL|	-2
    FILL|	0|	71|	-2
    FILL|	0|	0|	66|	102|	35|	130|	101|	101|	297|	67|	106|	106|	298|	298|	320|	299|	-2
    Et ce que je souhaiterais c'est n'avoir que la liste des nombres.
    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
    0
    -2
    -2
    0
    71
    -2
    0
    0
    66
    102
    35
    130
    101
    101
    297
    67
    106
    106
    298
    298
    320
    299
    -2
    Comment faire ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Remplaces "find "FILL|" %%a" par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type %%a | find "FILL|"
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre confirmé Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Par défaut
    Perfeto !
    Merci beaucoup Mac Lak.
    Est-il possible de ne récupérer que le reste de la ligne commençant par "FILL|" ?

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Oui, via un FOR /F, en utilisant "|" comme délimiteurs et "1,*" pour les tokens. Il te suffit de conserver le 2ème champ (*), qui contiendra tout sauf le "FILL|".
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Membre confirmé Avatar de H.ile
    Profil pro
    Architecte de système d'information
    Inscrit en
    Janvier 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Janvier 2008
    Messages : 122
    Par défaut
    Bonjour
    J'ai manqué un peu de suivi dans les réponses, mais voilà, le projet a subi un coup d'arrêt, et est relancé ces jours-ci.
    1- la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /F "eol=; tokens=1,* delims=|" %i in (atlas.hlm.par) do @echo %j
    me sort bien le reste des lignes du fichier atlas.hlm.par mais je ne vois pas comment l'intégrer au reste de mon code.
    2- je peux avoir une ligne commençant par COMP| suivie (de près ou de loin, i.e. plusieurs lignes peuvent être intercalée) d'une ligne commençant par FILL|. Comment faire pour récupérer la ligne COMP|, puis la ligne FILL| à la suite ?
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /r "%source1%" %%a in (*.par) do (
    type "%%a" | find "COMP|" "FILL|") >>c:\remplissage.txt
    mais ce n'est pas excellent...
    D'avance, merci,

Discussions similaires

  1. [MySQL] Comment affiché un résultat avec plusieurs lignes et plusieurs champs dans un tableau
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 15/05/2007, 14h19
  2. comment zipper plusieurs fichiers dans un seul
    Par diamonds dans le forum Linux
    Réponses: 4
    Dernier message: 22/03/2007, 20h15
  3. recupérer plusieurs ligne d'un fichier
    Par vince2005 dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2006, 10h50
  4. Réponses: 12
    Dernier message: 18/06/2006, 19h42
  5. [MySQL] Checkboxes : récupérer les informations sur plusieurs lignes
    Par eric41 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 12/06/2006, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo