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 :

Comparer deux chaînes de caractères


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2015
    Messages : 25
    Par défaut Comparer deux chaînes de caractères
    Bonjour à tous.

    Je flanche sur une fonction if et malgré mes recherche je n'ai pas trouvé de solution.
    Pour l'ensemble de mes fichiers txt dans un dossier je souhaite vérifier si le nom du fichier contient une chaîne de caractères. Et si tel est le cas exécuté un goto.

    Voici mon code :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for %%F in (*.txt) do (
    	if *%%F* EQU *AI535* (GOTO MT535)
    )

    J'ai testé avec celui ci aussi, mais même problème


    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for %%F in (*.txt) do (
    	set "name=%%F"
    	if *!name!* EQU *AI535* (GOTO MT535)
    )

    Lorsque le système analyse le fichier 2019-05-30_ABC_552588_AI5351_GFJFO.txt le GOTO n'est pas exécté.

    Merci de votre aide.

    Alessandro.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Avant de s'attaquer au cœur du problème, une petite remarque : si tu fais un GOTO tu sors de la boucle, ça veut dire que seul le premier fichier texte contenant la chaîne sera traité, il vaut mieux utiliser une fonction (que tu appelleras avec CALL et que tu termineras avec GOTO :EOF)

    Pour revenir à ton problème, la commande IF n'est pas très adapté à ton cas, tu ne peux pas utiliser de joker, il faut faire comme cela :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for %%F in (*.txt) do (
    	(echo %%~nF | find "AI535") && (CALL :MT535)
    )
     
    exit
     
    :MT535
    ...
    ...
    ...
    GOTO :EOF

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for %%a in (.\*AI535*.txt) do CALL :MT535 %%~nxa
     
     
    :MT535
    set file=%~1
    ...
    ...
    GOTO :EOF

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/11/2015, 13h14
  2. [Toutes versions] Décomposer + Comparer deux chaînes de caractères
    Par hasgor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/09/2015, 12h01
  3. Réponses: 3
    Dernier message: 02/07/2009, 10h46
  4. Comparer deux chaînes de caractère
    Par natie_49 dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2007, 11h53
  5. Comparer deux chaînes de caractères
    Par camoa dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 10/12/2006, 14h30

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