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 :

Extraction de chaines de caractères [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Par défaut Extraction de chaines de caractères
    Bonjour,

    est il possible d'extraire et de traiter les chaines de caractère placées entre 2 délimiteurs d'une ligne?

    Je m'explique: j'ai un fichier du type:
    et je souhaiterais extraire chaque chaine entre 2 '|' et faire en sorte de completer avec "xxx" afin d'avoir 3 caractères pour la première chaine, 5 caractères pour la 2eme, et à nouveau 3 caractère pour la 3ème soit obtenir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    axx|axxxx|axx
    bxx|bxxxx|bxx
    cxx|cxxxx|cxx
    Pour l'instant je nage un peu puique je n'arrive à récupérer que la première chaine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "delims=|" %%a in ('type test.txt') do (
        echo %%a
        )
    Merci pour votre aide.

  2. #2
    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
    L'aide de FOR t'aurait aidé, si tu l'avais lue...

    Mets ça dans ta boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo %%a
    echo %%b
    echo %%c
    Les variables contenant les champs suivants sont créées automatiquement à partir de la première.
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Par défaut
    Merci pour ton aide Mac LAK,

    disons que je ne connais pas le batch et que je pensais avoir une doc assez complète sur le FOR à cette adresse http://www.batcher.fr/cmd/do.php, mais il manquait quelques détails et un peu de clarté.

    Je vais donc pouvoir traiter mes chaines

  4. #4
    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
    Pourquoi aller sur internet alors que : for /?
    ^^

  5. #5
    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
    Citation Envoyé par Goupsy Voir le message
    mais il manquait quelques détails et un peu de clarté.
    Ton site, c'est la même chose que l'aide en ligne de commande (tapes FOR /?), mais en moins bien présenté que dans la console de l'interpréteur, je trouve...
    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

  6. #6
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    moi je préfère ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hh ntcmds.chm::/for.htm

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Par défaut
    hh ntcmds.chm :: /for.htm
    J'ai pas pu testé, il me sort:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Impossible d'ouvrir le fichier hh ntcmds.chm :: /for.htm
    FOR /?
    n'étant pas familière avec les commandes DOS, je n'y avais pas pensé, mais c'est vrai que c'est plus lisible

  8. #8
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    pas d'espace entre :: et /for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hh ntcmds.chm::/for.htm

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Par défaut
    Citation Envoyé par I'm_HERE Voir le message
    pas d'espace entre :: et /for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hh ntcmds.chm::/for.htm
    oui, j'avais testé les 2 en pensant qu'il y avait un espace, mais j'obtiens le même message d'erreur;

    même ne fonctionne pas

  10. #10
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    quand tu tapes dans une invite est-ce une fenetre s'affiche ?

    EDIT: si hh.exe est présent dans ta machine tu peux décompiler le .chm en utilisant ce petit code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    hh -decompile d:\manuel %windir%\help\ntcmds.chm
    -> va créer un dossier d:\manuel contenant toute l'aide des commandes

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 72
    Par défaut
    Super merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perl- probléme d'extraction de chaine de caractères
    Par shad797 dans le forum Langage
    Réponses: 4
    Dernier message: 18/08/2009, 14h43
  2. extractions de chaines de caractères
    Par mouaa dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/12/2007, 13h19
  3. extraction dernière chaine de caractères
    Par m93.fred dans le forum Excel
    Réponses: 3
    Dernier message: 05/12/2007, 15h19
  4. Extraction dans chaine de caractères variable
    Par ginkas31 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/08/2007, 17h27
  5. Extraction de chaine de caractères
    Par asterix76-rouen dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 23h17

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