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 :

Afficher la recherche ligne par ligne [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    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
    Points : 76
    Points
    76
    Par défaut Afficher la recherche ligne par ligne
    Bonjour.

    Ce script me permet de faire une recherche dans un fichier .txt d'un mot, d'une expression. Le résultat de la recherche s'affiche dans la fenêtre de la console. Mais le mot recherché ne s'affiche pas dès le début, mais seulement dans les dernières lignes alors que la liste est longue (plus de 10 000 lignes). J'ai essayé avec la commande more pour afficher la recherche ligne par ligne mais ça ne fonctionne pas. Que dois-je faire dans ce cas ?

    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
    @echo off
    :debut
    cls
    echo.
    echo Liste des fichiers .txt
    echo.
    dir /B *.txt
    echo.
    set/p fichier=Entrez le nom (sans extension) du fichier .txt ^>^> 
    echo.
    set/p nom=Entrez une recherche, un mot clé ^>^> 
    for /f "tokens=* delims=" %%i in ('type "%fichier%".txt ^| find /I "%nom%"') do echo %%i
    pause > nul
    goto :debut

    Merci de bien vouloir m'aider.

  2. #2
    Membre éprouvé
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 94
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 562
    Points : 1 253
    Points
    1 253
    Par défaut
    Salut toi,

    Pourquoi ne pas tout rediriger vers un fichier, plutôt que de lire ligne par ligne dans la console ?

  3. #3
    Membre régulier
    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
    Points : 76
    Points
    76
    Par défaut
    Bonjour kaitlyn.

    Merci d'avoir répondu.

    Je ne voudrai pas créer un autre fichier .txt . C'est juste pour visionner le résultat de la recherche dans la console.

  4. #4
    Membre éprouvé
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 94
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 562
    Points : 1 253
    Points
    1 253
    Par défaut
    Dans ce cas, supprime la ligne 13, et sur la ligne 12 alors, ajoute après le %%i, &pause >nul
    Sinon, tu as ce qui suit qui peut te faire gagner du temps dans ta recherche :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    set /p "str=chaine: "
    for /f "tokens=*" %%i in ('findstr /nil /c:"%str%" *.txt') do (
    echo %%i
    pause >nul
    )

  5. #5
    Membre régulier
    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
    Points : 76
    Points
    76
    Par défaut
    Re.

    Mille mercis pour les 2 scripts qui fonctionnent très bien.

    Je voudrai juste savoir pourquoi il y a /c: et son utilité.

  6. #6
    Membre éprouvé
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 94
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 562
    Points : 1 253
    Points
    1 253
    Par défaut
    En complément du /l (L), /c permet de faire une recherche littérale, c.-à-d. rechercher la chaine telle qu'elle a été saisie.

  7. #7
    Membre régulier
    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
    Points : 76
    Points
    76
    Par défaut
    Merci pour l'information. Comment faire pour que le mot à rechercher soit sensible à la casse ?

    Parce que si je tape Marseillaise (une personne, l'hymne) et marseillaise (une ville, l'origine), le résultat est le même.

  8. #8
    Membre éprouvé
    Femme Profil pro
    ..
    Inscrit en
    Décembre 2019
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 94
    Localisation : Autre

    Informations professionnelles :
    Activité : ..

    Informations forums :
    Inscription : Décembre 2019
    Messages : 562
    Points : 1 253
    Points
    1 253
    Par défaut
    Dans findstr /nil, il faut enlever le i. Tape findstr /? dans ta console, ça t'affichera toutes les options possibles.

  9. #9
    Membre régulier
    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
    Points : 76
    Points
    76
    Par défaut
    J'ai supprimé n pour ne pas afficher le numéro de ligne et i pour que le mot soit sensible à la casse.

    Encore une fois mille mercis pour toutes ces précieuses informations. Bonne journée et à plus peut-être.

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

Discussions similaires

  1. recherche multicritères - affiche toutes les lignes
    Par jarod1990 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/05/2010, 09h11
  2. Afficher un texte ligne par ligne
    Par renaud26 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 7
    Dernier message: 23/03/2010, 13h22
  3. Recherche ligne par ligne + affichage
    Par piero53 dans le forum Langage
    Réponses: 30
    Dernier message: 17/02/2010, 17h44
  4. afficher un tableau ligne par ligne
    Par zangaloni dans le forum EDT/SwingWorker
    Réponses: 4
    Dernier message: 06/05/2009, 21h09
  5. [MySQL] Afficher les données ligne par ligne
    Par the watcher dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/02/2009, 17h50

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