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 :

Utiliser un caractere spécial dans une recherche d'occurrences [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut Utiliser un caractere spécial dans une recherche d'occurrences
    Bonjour ,

    je cherche donc ,comme l'indique l'intituler de cette discution, a insérer un caractère "é" dans une recherche d'occurrence

    voici le bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    find /i "est d(ici doit être "é")" "%%a"
    merci d'avance =P

  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
    Points : 3 768
    Points
    3 768
    Par défaut
    En utilisant le "é" ça devrait fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off
    echo desolé | find "é">nul && echo  ‚ trouv‚ || echo  ‚ pas trouv‚
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    je suis d'accord que cela marche ^^ cependant je cherche a l'ajouter a une chaîne ici c'est "est dé" malgré cela le script ne reconnais pas le "é"
    ou alors j'ai peut être mal compris si c'est le cas pardon ^^'

  4. #4
    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
    Points : 3 768
    Points
    3 768
    Par défaut
    poste le bout de code qui marche pas

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    en faite le truc c'est que j'arrive pas a mettre le caractère "é" dans ma chaîne d'occurrence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /i "est d(je veux mettre le "é" ici)"
    en gros je chercher dans certain fichier l'occurrence "est dé"

    est il possible d'ajouter un caractère "é" dans une chaîne de caractère telle que celle-ci ?

    le reste du code marche très bien d’ailleurs , seulement je veux faire la différence entre "est déjà" et "est différent"

  6. #6
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    pour plus de précision lorsque je met "est d" cela marche cependant lorsque je rajoute "é" cela ne marche plus (enfin il ne trouve plus de fichier avec l'occurrence "est dé" )donc j'ai pensé que le "é" n’était pas reconnue

  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
    Points : 3 768
    Points
    3 768
    Par défaut
    Bon chez moi cela fonctionne sans problème.

    Voici le code que j'ai fait pour tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    
    for %%a in (test.txt) do  (
       find "est déjà" "%%a">nul && echo [ est d‚j… ] trouv‚ dans %%a || echo [ est d‚j… ] Pas trouv‚ dans %%a
       find "est différent" "%%a">nul && echo [ est diff‚rent ] trouv‚ dans %%a ||  echo [ est diff‚rent ] Pas trouv‚ dans %%a)
    et le fichier test.txt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fddfsdçlkfçlsdf
    bdfjkkjdfkjdf est déjà gkfjgjkfxg
    jfjjkdfjkdfj est différent jkrkjrjkkj
    fdffdggg
    la sortie :


    [ est déjà ] trouvé dans test.txt
    [ est différent ] trouvé dans test.txt


    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  8. #8
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    j'ai test ta solution sur ton *.txt sur mon ordi et cela marche très bien cependant quand je veux le réutiliser dans mon code cela ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /f "delims=" %%a in ('dir /s/a-d/b *.xml') do if exist "%%~dpaArchive\*.*" find /i "est déjà" "%%a">nul && call:Deplacer"%%a" "%%~dpa"

  9. #9
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    pls gooby

  10. #10
    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
    Points : 3 768
    Points
    3 768
    Par défaut
    Le problème est que ton xml est en unicode et si la ligne est trop longue ça marche pas.

    essaye avec findstr voir si ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type test.xml | findstr /i "est d"
    Pour voir ce qu'il retourne.
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  11. #11
    Membre du Club Avatar de Noruk
    Homme Profil pro
    chantilly
    Inscrit en
    Juin 2014
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : chantilly
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 61
    Points : 59
    Points
    59
    Par défaut
    Nom : Sans titre.png
Affichages : 209
Taille : 32,4 Ko

    voici ce que me revoit le cmd , cependant le premier ne contient pas "est déjà" mais le second si

  12. #12
    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
    Points : 3 768
    Points
    3 768
    Par défaut SdeeFind: Recherche de caractères avec accents
    N'ayant pas de solution BAT pour ton problème,
    j'ai fait une petite commande externe ultra basique : SdeeFind.exe
    Qui gére les gros fichiers et qui devrait fonctionner pour ton cas.
    Elle traîte (pour l'instant) uniquement les accents en minuscule (é,è,ê,à,â,ù,ô,î). Et n'est pas sensible à la casse pour les autres caractères.
    elle ne fait pas de recherche multiple. Elle dit juste si un string "xxx" est présent dans le fichier.
    C'est une première version que je perfectionnerai (si il y a de la demande)

    Utilisation :

    SdeeFind.exe "fichier.xxx" "String à chercher"[Opt: [/b]]
    - Switch /b lors de l'utilisation depuis un fichier BAT si on veut tester des strings avec accents.

    Sortie :
    Uniquement en mode direct :
    [String] -> 15 - En cas de succès (15) étant la position de la première occurence du string trouvé.

    Errorlevel à 0 en cas de succès
    Errorlevel à 1 en cas d'échec



    L'utilisation direct dans la console (Ne pas utiliser le switch /b) :

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SdeeFind.exe "test.xml" "est déjà"
    L'utilisation depuis un fichier BAT (Ne pas oublier les switch /b):

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @echo off
    SdeeFind test.xml "est déjà" /b && echo trouv‚ || echo Pas trouv‚
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    SdeeFind test.xml "est déjà" /b
    if %errorlevel%==0 echo trouv‚ 
    if %errorlevel%==1 echo Pas trouv‚

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/02/2015, 18h19
  2. Un caractere spécial % dans une macro-variable
    Par july1012 dans le forum Macro
    Réponses: 2
    Dernier message: 03/10/2012, 17h06
  3. Réponses: 0
    Dernier message: 17/06/2010, 14h22
  4. Recherche spécial dans une chaine
    Par nordik69 dans le forum Langage
    Réponses: 3
    Dernier message: 08/07/2008, 13h39
  5. Réponses: 4
    Dernier message: 05/06/2006, 12h43

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