Rechercher un mot, une expression dans des fichiers texte
Bonjour :D
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. :help:
Voici le script:
Code:
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;Rpertoire actuel: "%working_folder%"
echo.
set /p ext=Tapez l'extension des fichiers texte ^>^>
echo.
set /p mot=Tapez le ou les mots espacs
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.