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 :

Extraire chaïne de caractère jusqu'au délimiteur


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    consultant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Extraire chaïne de caractère jusqu'au délimiteur
    Bonjour à tous,

    A partir d'une boucle for, j'ai une liste de valeur comme celle-ci :

    C:\Users\flow\Desktop\A\1\1.1
    C:\Users\flow\Desktop\A\1\1.1\1.1.1
    C:\Users\flow\Desktop\A\1\1.2
    C:\Users\flow\Desktop\A\1\1.2\1.1.1
    C:\Users\flow\Desktop\A\1\1.2\1.1.2
    C:\Users\flow\Desktop\A\1\1.2\1.1.2\1.1.1.1

    Je souhaiterai récupérer la valeur derrière le dernier backslash, soit les valeurs en vert :

    C:\Users\flow\Desktop\A\1\1.1
    C:\Users\flow\Desktop\A\1\1.1\1.1.1
    C:\Users\flow\Desktop\A\1\1.2
    C:\Users\flow\Desktop\A\1\1.2\1.1.1
    C:\Users\flow\Desktop\A\1\1.2\1.1.2
    C:\Users\flow\Desktop\A\1\1.2\1.1.2\1.1.1.1

    J'ai essayé de la façon suivante, mais le résultat n'est pas bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "tokens=*" %%i in ("!path_pere!") do (
    		set rep_pere=%%~ni
    		)
    Avec cette commande, pour certaines lignes le résultat est bon, pour d'autre, c'est l'avant dernière valeur qui est affiché, et donc ce n'est pas ce que je souhaite.

    Auriez-vous une idée ? J'imagine que ce n'est %%~ni qu'il faut utiliser mais quelque chose d'autre de similaire.

    D'avance, merci !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    consultant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    setlocal enableDelayedExpansion
    
    set path_pere=C:\Users\Flow\Desktop\aa\bb\cc\dd
    
    for %%i in ("!path_pere!") do (
    		set rep_pere=%%~nxi
    
    echo !rep_pere!
    
    endlocal
    Le résultat retourné est : dd

Discussions similaires

  1. [PowerShell] Extraire chaîne de caractère plage défini.
    Par mdadm95 dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 04/03/2015, 11h42
  2. [XL-2003] Macro, extraire chaîne après caractère spécifique
    Par arkhang dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/11/2013, 12h03
  3. Réponses: 10
    Dernier message: 29/05/2012, 15h27
  4. Réponses: 3
    Dernier message: 15/10/2009, 16h49
  5. Réponses: 2
    Dernier message: 26/07/2007, 12h05

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