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 :

Vérifier si un string termine par un slash [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut Vérifier si un string termine par un slash
    Bonjour à tous,

    j'ai besoin de vérifier si un Path écrit par un utilisateur se termine par un / ou non. En effet, il me faut concaténer deux path écrits par un utilisateur. Pour cela, j'en ai deux cas:

    Si le premier path termine par un slash ou anti-slash, il faut faire une simple concaténation alors si le premier path ne termine pas un anti-slah il me faut concaténer le path1+ / + path2.

    Merci beaucoup d'avance pour vos retours...

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Facile:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BOOL PathEndsWithSlash(const TCHAR* path)
    {
    	size_t length;
    	if(path==NULL) { return FALSE; }
     
    	length = _tcslen(path);
    	if(length > 0 && path[length-1] == TEXT('/'))
    		return TRUE;
    	return FALSE;
    }

    Edit: Ou mieux encore: Il y a carrément une fonction qui fait la vérification pour toi! (sauf qu'elle utilise un backslash)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut
    Je vous remercie pour votre réponse mais ce que je cherche est une solution sous Batch et non plus C.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Dans ce cas, il fallait le préciser, poser la question dans le sous-forum Scripts/Batch, etc.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 47
    Par défaut
    Bonjour ,

    quelque chose du genre ? :
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    set Mypath=/mypath/
    if "%mypath:~-1%" equ "/" (
    	echo le path se termine par /
    	rem instruction
    ) else (
    	echo le path ne se termine pas par /
    	rem instruction
    )

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut
    Je vous remercie pour votre réponse.

    Une autre question débile si vous permettez. Dans le cas ou le variable MyPath ne se termine pas par un slash, j'ai essayé de l'ajouter avec l'instruction suivante mais en vain !:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo le path ne se termine pas par /
    	set slash="/"
    	set var_data_sla = %var_data_sla%%slash%
    	set var_data_sla = %var_data_sla%%slash%
            echo %var_data_sla%
    Merci beaucoup d'avance !

  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
    Hello,

    on peut simplifier tout ça :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    set Mypath=/mypath
     
    echo %mypath:~-1% | find "/" >nul || set Mypath=%Mypath%/
     
    echo %MyPath%

    Ainsi MyPath aura toujours un "/" à la fin


  8. #8
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Par défaut
    Parfait Merci beaucoup

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

Discussions similaires

  1. Vérifier si un mot se termine par un "e" et suivi d'un autre commencant par "e"
    Par cookizz dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 25/03/2009, 15h41
  2. Réponses: 14
    Dernier message: 20/03/2006, 09h43
  3. Réponses: 3
    Dernier message: 11/01/2006, 20h44
  4. [string] vérifier si une string en contient une autre
    Par vasilov dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/12/2005, 14h50
  5. Select qui boucle ou se termine par un Ora-01460
    Par PatriceP dans le forum Oracle
    Réponses: 4
    Dernier message: 29/10/2004, 08h53

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