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.