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 :

Rechercher un mot, une expression dans des fichiers texte


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Par défaut Rechercher un mot, une expression dans des fichiers texte
    Bonjour

    J'ai un script (Search.bat) qui cherche un mot, des mots, une expression dans des fichiers texte après avoir glissé/déposé un répertoire sur Search.bat


    Cependant, le fichier _Resultat_mot à chercher.txt qui affiche les résultats s'enregistre dans le répertoire où s'est effectuée la recherche et non pas dans le répertoire du script.

    Que faut-il modifier dans le script pour que le fichier _Resultat_mot à chercher.txt s'affiche avec Search.bat ?

    Autres problèmes:

    Lorsque je tape un mot composé d'un caractère accentué, par exemple le mot numéro, le fichier _Resultat_numéro.txt est vide.

    Lorsque je glisse/dépose une partition (C ou D) sur Search.bat, ce dernier ne fonctionne pas.



    Voici le script:

    Code Batch : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    @echo off
    echo.
    setlocal enabledelayedexpansion
    set "working_folder=%~dp0"
    if not "%~1"=="" (
    if exist "%~1" (
    set "glisser_deposer=%~f1"    
        )
    )
    if not "%glisser_deposer%"=="" (
        if exist "%glisser_deposer%\*" (
     
            set "working_folder=%glisser_deposer%"
     
        )
    )
     
    pushd "%working_folder%"
    echo.
    echo;R‚pertoire actuel: "%working_folder%"
    echo.
    set /p ext=Tapez l'extension des fichiers texte ^>^> 
    echo.
    set /p mot=Tapez le ou les mots espac‚s … chercher ^>^> 
    echo.
    rem /S affiche le nom du fichier, son extension et la (les) ligne(s) où se trouve(nt) le mot
    rem /I indique que la recherche ne doit pas être sensible à la casse
    rem /N affiche le numéro de ligne devant chaque ligne qui correspond
    for /f "delims=" %%a in ('dir /b/s *.%ext%') do findstr /S /I /N "%mot%"  "%%a" >> "_Resultat_%mot%".txt


    Merci de bien vouloir m'aider.

  2. #2
    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
    1)
    Cependant, le fichier _Resultat_mot à chercher.txt qui affiche les résultats s'enregistre dans le répertoire où s'est effectuée la recherche et non pas dans le répertoire du script.
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    "%~dp0_Resultat_%mot%.txt"

    2)
    Lorsque je tape un mot composé d'un caractère accentué, par exemple le mot numéro, le fichier _Resultat_numéro.txt est vide
    Les diacritiquess sont vraiment galère à gérer en batch
    Utilise un motif de recherche en tant qu'expression te permettra de remplacer les caractères à problème par un point
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /R           Recherche les chaînes en tant qu'expressions
    3)
    Lorsque je glisse/dépose une partition (C ou D) sur Search.bat, ce dernier ne fonctionne pas
    Qu'est ce qui ne fonctionne pas ?
    Le script se plante ? S'exécute sans trouver ? Peut être un accès refusé lors de l'écriture du fichier _Resultat_mot

Discussions similaires

  1. [XL-2013] caractères generiques dans le remplacement d'une chaine dans des fichiers texte
    Par Denis_67 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2020, 11h34
  2. Rechercher une expression dans un fichier xml
    Par snopims dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/12/2008, 12h03
  3. recherche dans une plage dans des fichiers fermés
    Par kikuyu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2008, 10h20
  4. chercher une expression dans plusieurs fichiers ?
    Par condor_01 dans le forum Ubuntu
    Réponses: 3
    Dernier message: 11/09/2007, 20h28
  5. [code]Recherche d'une chaine dans des fichiers
    Par guillaume_pays_ceven dans le forum Contribuez
    Réponses: 5
    Dernier message: 21/06/2007, 14h32

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