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 chaîne qui pose problème


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut Extraction chaîne qui pose problème
    Bonjour,

    J'ai un problème pour extraire une chaîne dans une variable.

    Par exemple dans cette chaîne "c:\temp\toto\tata" je voudrais optenir uniquement tata.

    je ne peux pas me positionner sur un caractère prédéfini car "c:\temp\toto\" changera en permanance et avec un nombre de caractère pas forcément identique.

    exemple de données avec ce que je souhaites garder en gras :

    c:\temp\toto\tata
    d:\rep1\sousrep1\tata5
    \\serveur\rep5\toto
    \\serv\aaa\bbb\cccccddddd

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    dans la réalité comment fais-tu pour savoir quel dossier est le bon.
    Il contient un fichier spécifique ?

    Il faut un paramètre pour pouvoir déterminer quel dossier est le bon.

    Sinon je ne vois pas de solution, pour chercher un dossier aléatoire avec un nom aléatoire à une position aléatoire.

    Donne-nous une piste.

    Amicalement

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut
    Ce sera toujours le répertoire qui est derrière le dernier "\".

    les chemins je les récupères autrement mais pour extraire la chaine derrière le \ je bloque...

    Le nombre de \ est variable

    J'ai pensé rechercher la position du dernier \ , m'y positionner et extraire jusqu'à la fin mais je ne sais pas trop comment faire

    Merci

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Si vous voulez le faire en Vbscript, Dis-moi
    @+

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Voilà une fonction que je dois déjà avoir posté sur ce forum.

    Récuperer le dernier élément d'un path.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    :::Dernier element d un Path
    :::Par SachaDee
    :::www.bbat.forumeiros.com
    
    @ECHO OFF
    SET RP=
    SET RP=%~Ps0
    SET RP=%RP:\= %
    SET RP=%RP:~1,-1%
    FOR %%A IN (%RP%) DO (SET RP=%%A)
    ECHO DERNIER REPERTOIRE DU CHEMIN : %~P0%
    ECHO.EST : %RP%
    Amicalement

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Par défaut
    Votre code me donne exactement le résultat que je cherche depuis ce matin. Merci beaucoup.

  7. #7
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Je viens de modifié mon code, pour gérer les noms de répertoires qui contiennent des espaces ou des noms très long. Dans ce cas le nom retourné est le nom court.

  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
    Citation Envoyé par sachadee Voir le message
    Voilà une fonction que je dois déjà avoir posté sur ce forum.

    Récuperer le dernier élément d'un path.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    :::Dernier element d un Path
    :::Par SachaDee
    :::www.bbat.forumeiros.com
    
    @ECHO OFF
    SET RP=
    SET RP=%~Ps0
    SET RP=%RP:\= %
    SET RP=%RP:~1,-1%
    FOR %%A IN (%RP%) DO (SET RP=%%A)
    ECHO DERNIER REPERTOIRE DU CHEMIN : %~P0%
    ECHO.EST : %RP%
    Amicalement
    Salut,

    merci pour ta contribution, j'ai tester ton code dans mon XPSP3 avec un chemin un peu long contenant des espaces et ça me retourne un RP:~1,-1 puis dans un 7 et il m'a retourné un nom court...
    il vaut mieux dans ce cas ne pas utiliser les modificateurs de paramètres/variables car le rendu n'est pas universel en plus ils peuvent provoquer des bugs surtout avec les chemins UNC, donc opter pour une extraction littérale reste le moyen le plus sur, comme par exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    setlocal enabledelayedexpansion
    SET RP=%CD%
    for /l %%a in (1 1 0xff) do set rp=!rp:*\=!
    set rp

  9. #9
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    salut I'm_HERE, ça faisait longtemps
    salut tout le monde,

    voici mon bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    call :rep "%cd%" 
    @goto :eof
    :rep 
    echo %~nx1

Discussions similaires

  1. [VBA]: Nom de champ qui pose problème
    Par Amitom dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2007, 09h26
  2. [D5] Transtypage qui pose problème
    Par MelkInarian dans le forum Delphi
    Réponses: 4
    Dernier message: 06/04/2007, 16h38
  3. requete update qui pose problème
    Par kirian dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/02/2007, 11h20
  4. code qui pose problème
    Par onePersonne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2006, 14h27
  5. Un cast de SmartPointer qui pose probléme
    Par Higestromm dans le forum C++
    Réponses: 3
    Dernier message: 13/10/2005, 10h25

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