[BATCH] Problème programme de recherche

Résolu
Utilisateur anonyme -  
 LUDO -
Bonjour mes gins :)

J'ai crée un programme de recherche (recherche de MP3 sur le disque dur).

Il marche impec.

Enfin, c'est ce que je pensais ^^

Mon problème, je vais vous l'expliquer en plusieurs points

1 ==> Disons que j'ai deux mp3 : love song.mp3 et Docteur Love.mp3
2 ==> Si j'utilise mon programme, que je recherche love ==> il ne trouve que Docteur Love.mp3 ===> mais pas de love song.mp3
3 ==> Bizarre n'est-ce pas. Donc j'ai utilisé le logiciel Agent Ransack pour rechercher tous les mp3 que j'ai sur le disque dur C => 31 mp3

Avec mon programme => 7/8 mp3

Bref, je pense qu'il manque un caractère.... j'en ai testé plusieurs, en vain.

Bien entendu, voici le code de mon prog :

@echo off  
title TomSearch : Programme de recherche MS-DOS  
color 0E  

:debut  
cls  
echo.  
echo          ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  
echo          º Bienvenue sur MP3Search, la recherche de fichiers MP3 sous DOS º  
echo          º               DerniSre mise ... jour : 28/07/11                  º  
echo          ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ  
echo.  
echo Auteur du programme : little boy62  
echo O-- me contacter : tomcena_18@live.fr  
echo.  
echo.  
echo Appuyez sur une touche pour lancer le programme  
pause>nul  
goto menu  
   
:menu  
cls  
If exist "%homedrive%\MP3Search.txt" del /Q "%homedrive%\MP3Search.txt"  
echo          ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  
echo          º 1 Introduction                                         º   
echo          º 2 Recherche de MP3                                     º  
echo          º 3 Quitter                                              º  
echo          ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ  
echo.  
set /p choix=Quelle action effectuer ?   
if %choix%==1 goto debut  
if %choix%==2 goto recherche  
if %choix%==3 goto exit  
goto Error  

:recherche  
cls  
echo Programme de recherche lanc'...  
echo.  
set /p A=Veuillez indiquer ce que vous recherchez   
echo.  
set /p  L=Veuillez marquer la lettre du p'riph'rique  pour effectuer la recherche (exemple : C)   
cls  
for /f "tokens=*" %%b in ('dir /A /B /S "%L%:\*.*" ^|findstr -I "%A%.mp3"^') do if exist "%%~b" (  
echo %%~b >> "%homedrive%\MP3Search.txt")  
echo.  
If exist "%homedrive%\MP3Search.txt" (  
echo Un rapport, intitul' MP3Search.txt, doit ^tre cr'e, dans la racine du disque dur  
echo Appuyez sur une touche pour l'ouvrir  
pause>nul  
start notepad "%homedrive%\MP3Search.txt"  
) ELSE (echo D'sol', la recherche n'a rien donn')  
echo.  
echo.  
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  
echo º Recherche termin' ! º  
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ  
echo.  
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  
echo º 1 Retour au menu       º  
echo º 2 Quitter le programme º  
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ  
echo.  
set /p choix= Veuillez indiquer votre choix :   
if %choix%==1 goto menu  
if %choix%==2 goto exit  

:Error  
echo.  
Echo Cette action n'existe pas. Veuillez appuyer sur une touche pour recommencer  
pause>nul  
goto menu   

:exit  
exit


Pouvez-vous m'aider s'il vous plait.

Merci pour vous réponses futures

@bientôt



I feel good

1 réponse

  1. LUDO
     
    salut,

    oui c'est bizarre...
    essaye à la place de
    findstr -I "%A%.mp3"
    de mettre
    findstr -I "*%A%*.mp3"

    ou alors essaye avec la commande find au lien de findstr
    0
    1. LUDO
       
      ou meme sinon a la place de ta commande for pourquoi tu ne fais pas ça:

      DIR /A /B /S "%L%:\*%A%.mp3 >"%homedrive%\MP3Search.txt"

      cela ne serait-il pas suffisant
      0
    2. Utilisateur anonyme
       
      Lu'

      Déjà essayé, cela ne marche pas.


      Merci pour tes réponses
      0
    3. LUDO
       
      re,

      avec ceci cela foncionne correctement pour moi!!!

      @echo off
      title TomSearch : Programme de recherche MS-DOS
      color 0E

      :debut
      cls
      echo.
      echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
      echo º Bienvenue sur MP3Search, la recherche de fichiers MP3 sous DOS º
      echo º DerniSre mise ... jour : 28/07/11 º
      echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
      echo.
      echo Auteur du programme : little boy62
      echo.
      echo.
      echo Appuyez sur une touche pour lancer le programme
      pause>nul
      goto menu

      :menu
      cls
      If exist "%homedrive%\MP3Search.txt" del /Q "%homedrive%\MP3Search.txt"
      echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
      echo º 1 Introduction º
      echo º 2 Recherche de MP3 º
      echo º 3 Quitter º
      echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
      echo.
      set /p choix=Quelle action effectuer ?
      if %choix%==1 goto debut
      if %choix%==2 goto recherche
      if %choix%==3 goto exit
      goto Error

      :recherche
      cls
      echo Programme de recherche lanc'...
      echo.
      set /p A=Veuillez indiquer ce que vous recherchez
      echo.
      set /p L=Veuillez marquer la lettre du p'riph'rique pour effectuer la recherche (exemple : C)
      cls
      dir /A /B /S "%L%:\*%A%*.mp3" > "%homedrive%\MP3Search.txt" 2>&1
      echo.
      If exist "%homedrive%\MP3Search.txt" (
      echo Un rapport, intitul' MP3Search.txt, doit ^tre cr'e, dans la racine du disque dur
      echo Appuyez sur une touche pour l'ouvrir
      pause>nul
      start notepad "%homedrive%\MP3Search.txt"
      ) ELSE (echo D'sol', la recherche n'a rien donn')
      echo.
      echo.
      echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
      echo º Recherche termin' ! º
      echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
      echo.
      echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
      echo º 1 Retour au menu º
      echo º 2 Quitter le programme º
      echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
      echo.
      set /p choix= Veuillez indiquer votre choix :
      if %choix%==1 goto menu
      if %choix%==2 goto exit

      :Error
      echo.
      Echo Cette action n'existe pas. Veuillez appuyer sur une touche pour recommencer
      pause>nul
      goto menu

      :exit
      exit
      0
    4. Utilisateur anonyme
       
      Salut Ludo


      Effectivement, cela fonctionne.


      Mais la commande findstr doit aussi fonctionner...


      Je te remercie :)


      @+
      0
    5. LUDO
       
      oui tu as raison cela devrait marcher avec findstr mais je n'ai pas creusé pour ma part assez profond pour voir pourquoi cela ne fonctionne pas...
      0