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
    Bonsoir.

    Ce script effectue une recherche dans des fichiers texte. Il fonctionne correctement.

    Cependant, le fichier.txt qui affiche les résultats s'enregistre dans le répertoire / la partition où s'est effectuée la recherche.

    Je voudrais savoir s'il est possible de modifier le script pour que le fichier.txt s'affiche dans le répertoire du script.

    Merci de bien vouloir m'aider.

    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
    @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=Taper l'extension des fichiers texte ^>^> 
    echo.
    set /p mot=Taper le ou les mots espac‚s … rechercher ^>^> 
    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

  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,

    Il suffit d'utiliser la variable %~dp0 comme ceci :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims=" %%a in ('dir /b/s *.%ext%') do findstr /S /I /N "%mot%"  "%%a" >> "%~dp0_Resultat_%mot%.txt"

  3. #3
    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
    Bonjour barnabe0057

    Merci infiniment pour ton aide. Ça marche à merveille. Cependant j'ai un petit souci. Dans le fichier.txt de la recherche, certains caractères accentués ne s'affichent pas correctement car j'ai des répertoires, des fichiers et des phrases avec des noms accentués comme compatibilité, écran,...

    compatibilité
    ‚cran
    J'ai essayé avec chcp 1252 > nul puis chcp 28591 > nul puis chcp 850 > nul mais le problème persiste.

  4. #4
    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,

    La commande CHCP concerne uniquement l'affichage des caractères au niveau de la console, tu peux mettre le code page 1252 ou 28591 ou 65001 au début de ton script, ça permettra d'afficher les caractères accentués.

    Pour ton fichier, essaie de le convertir en Unicode comme ceci :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd /u /c type "_Resultat_écran.txt" > "_écran.txt

  5. #5
    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
    Bonjour barnabe0057.

    Je vais essayer de convertir ce fichier ANSI en Unicode.
    Merci pour l'information et bonne journée.

Discussions similaires

  1. [Batch] Rechercher un mot, une expression dans des fichiers texte
    Par tease dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 20/11/2020, 17h52
  2. [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
  3. Rechercher une expression dans un fichier xml
    Par snopims dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/12/2008, 12h03
  4. 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
  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