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 :

Script batch extraire sous chaine [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 9
    Par défaut Script batch extraire sous chaine
    Bonjour, je demande votre aide car je n'arrive pas à effectuer d'extraction de chaine :

    ceci est mon fichier texte ( liste.txt ) dans lequel je dois récupérer la chaine qui est en gras est le mettre dans un autre fichier texte (lst.txt)

    Le volume dans le lecteur \\xxxx\xxxxx n'a pas de nom.
    Le num‚ro de s‚rie du volume est xxxx-xxxx

    R‚pertoire de \\xxxxx\xxxxx\xxxxx

    26/05/2009 08:12 36ÿ182 AAAAA000.txt
    26/05/2009 08:29 9ÿ401 BBBBB000.txt
    26/05/2009 07:51 27ÿ887 CCCCC000.txt
    J'ai essayé plusieur chose mais rien à faire :

    for /f "delims=" %%f in (liste.txt) do (
    set var = %%f
    echo %var:~36,8% >> lst.txt
    )


    donc je dois parcourir tout liste.txt récupérer ce qui est en gras et l'enregistrer dans lst.txt, mais j'obtient a chaque fois soit commande echo activée, soit ~36,8 dans lst.txt Grrrr ^^

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 165

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 9
    Par défaut
    je te remercie de ta réponse, hélas je cherche à avoir juste le nom en gras sans ce qui a avant et après et je n'ai pas trouvé ce que je recherche dans le lien que tu as mis.
    Ton lien permet d'avoir juste le chemin moi je veux juste le nom des fichiers.
    Je voudrais aussi comprendre ce qui ne vas pas dans mon algo, stp

  4. #4
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Par défaut
    Salut,

    Déjà, ton code ne peux pas marcher parce que tu utilise mal le %var:~36,8%

    %var:~36,8% signifie que tu souhaites récupérer 8 caractères à partir du 36 ème caractère de ta chaîne. (or ta chaîne ne comporte que 36 caractères)

    Ensuite, si tu souhaites tout faire dans la même boucle, tu dois utilisé l'expansion de variable : (je crois que maximum détaille ce principe dans un post pas trop loin, une recherche sur ce sujet, et tu devrais le trouver )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Echo off & Setlocal enabledelayedexpansion
    
    for /f "delims=" %%f in (liste.txt) do (
    set var=%%f
    echo variable : !var:~24,8!
    )
    Cependant, cela ne résoudras pas ton problème, puisque les caractères que tu souhaites récupérer ne se situent pas toujours à la même place

  5. #5
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Par défaut
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @Echo off & Setlocal enabledelayedexpansion
    
    for /f "Tokens=4 delims= " %%f in (liste.txt) do (
    set var=%%f
    echo !var:~0,8!
    )

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 9
    Par défaut
    je te remercie de ta réponse hélas tjr le même problème j'ai changé mon script entre temps :

    @echo off
    @echo #################################
    @echo #################################
    @echo ######Changement de serveur######
    @echo ### Copie des dossiers prives ###
    @echo #################################
    @echo #################################

    if exist lst.txt (del lst.txt)
    if exist liste.txt (del liste.txt)

    DIR /B \\xxxx\xxx\xxx\*.txt >> liste.txt

    ----------------------------------------

    liste.txt contient sa :

    xxxxx000.txt
    xxxxx000.txt
    xxxxx000.txt
    xxxxx000.txt

    ------------------------------------------

    Setlocal enabledelayedexpansion

    for /f "delims= " %%f in (liste.txt) do (
    set var = %%f
    echo !var:~0,8! >> lst.txt

    )
    endlocal
    pause

    mais le résultat que j'obtien dans lst.txt c'est que des : ~0,8

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

Discussions similaires

  1. extraire sous chaine à partir d'une regex ?
    Par blackbird1 dans le forum C
    Réponses: 9
    Dernier message: 12/06/2011, 20h53
  2. [RegExp] y a-t-il plus simple pour extraire sous-chaine d'une chaine ?
    Par laurentSc dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 17/03/2011, 17h16
  3. extraire sous chaine avec regex
    Par reg01 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 28/06/2010, 17h39
  4. [BATCH] extraire une chaine du retour de commande
    Par frp31 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 10/07/2008, 17h12
  5. Réponses: 1
    Dernier message: 18/04/2007, 17h07

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