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 :

Comment faire un Substring?


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut Comment faire un Substring?
    Bonjour à tous,

    Je suis en train de rédiger un petit script mais je n'arrive pas à isoler une partie de mon string:

    Voici mon string:
    D:\dirA\dirB\dirC\dirD\com.a.b.c.d

    Comment faire pour récupérer uniquement com.a.b.c.d sachant que le path avant 'com.' peut être différent. J'aimerais récupérer la partie de ma chaine de caractères à partir de 'com.' jusqu'à la fin de celle-ci?

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 69
    Points : 67
    Points
    67
    Par défaut
    Salut,
    j'ai pas trouvé comment utiliser de chaine comme délimiteur, mais si tu connais la profondeur de ton chemin, tu peux sélectionner ton token.

    A défaut, si tu veux te placer par rapport à "com."
    %tonString:com.=§% (en présumant que tu n'aies pas de § dans ton chemin)
    cf SET /?

    De là tu prends § comme délimiteur et tu rajoutes ton "com."
    for /f "tokens=2 delims=§" %s in ('echo %tonString:com.=§%') do echo com.%s

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut
    Salut Lud0o,

    Merci pour tes conseils, voici la solution que j'ai implémenté pour ceux que ça intéresse:

    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
    @echo off
    set currentPath=%cd%
    
    for /f "tokens=1 delims=." %%a in ("%currentPath%") do SET split=%%a
    
    call :length %split%
    call set dir=com%%currentPath:~%length%%%
    
    set fileName=%dir%.jar
    echo %fileName%
    
    goto :eof
    
    :length
    for /f "tokens=1* delims=][" %%a in ('
      "%comspec% /u /c echo:%~1|more|find /n /v """
     ') do Set /A "length=%%a-4"
    goto:eof

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2013, 10h34
  2. Réponses: 1
    Dernier message: 31/12/2008, 16h22
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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