Faire une recherche avec un Batch - Shell/Batch - Programmation
Marsh Posté le 15-07-2005 à 16:24:33
findstr
http://www.microsoft.com/resources [...] ndstr.mspx
Marsh Posté le 15-07-2005 à 20:39:07
En effet, findstr le fait très bien.
findstr /s /m "texte_à_chercher" C:\dossier\numero\1\*.htm* D:\dossier\numero\2\*.txt
Sinon, ton erreur est dûe à ta commande
cd %REP1%
celle ci ne change pas de partition, ton batch s'exécute donc toujours sur celle à partir de laquelle il est lancé.
Marsh Posté le 18-07-2005 à 09:55:06
ok merci mais ca marche super mal sur wind 2000:
@echo off
:start
cd\
cls
set /p VAL=Entrer le nom a rechercher :
cls
cls
echo.
echo Recherche de "%VAL%":
echo.
findstr /s /m "%VAL%" C:\*.* D:\*.*
:RE
echo.
set /p choice=Nouvelle recherche [O/N]?
if '%choice%'=='o' goto start
if '%choice%'=='O' goto start
if '%choice%'=='N' goto FIN
if '%choice%'=='n' goto FIN
ECHO "%choice%" is not valid please try again
ECHO.
cls
goto RE
je voudrait recup que les chemins alors que la il me met tous ainsi que les erreur!
Y a pas un autre moyen de faire une recherche type la recherche windows!
D'avance merci les gens!!!
Marsh Posté le 18-07-2005 à 21:27:00
Au fait, ta variable VAL contient le texte à rechercher dans les fichiers ou le motif de nom des fichiers souhaité ?
Marsh Posté le 19-07-2005 à 09:02:08
J'aimerai avoir juste que le nom sans extention.
Donc il doit pouvoir avoir les deux car je veux aussi pouvoir rechercher un fichier.
Donc des nom sans extention:
Mon but essailler de me rapprocher le plus de la fonction rechercher de Windows!
Encore Merci pour vos réponse!
Marsh Posté le 19-07-2005 à 18:50:54
Si tu ne veux pas d'extension, tu dois parser la sortie de findstr.
Sinon, quand tu décoches Masquer les extensions connues... dans l'explorateur, la recherche de Windows affiche les .txt, .html... aussi
Marsh Posté le 21-07-2005 à 16:48:21
Ca veut dir koi parser la sortie de findstr?
Désoler j'ai pas compris moi débutant batch
Marsh Posté le 21-07-2005 à 21:54:30
Sorry
Ca veut dire que tu dois extraire de la sortie de la commande findstr les infos que tu veux. Tout comme sur un autre topic, tu as traité dir /tw pour récupérer uniquement la date d'un fichier.
Marsh Posté le 15-07-2005 à 13:57:54
Bonjours:
D'abord désolé car je pense que c'est une demande récurrente mais j'ai pas trouver la solution.
Comment faire pour faire un batch pour win200 XP, qui fait la mm chose que Rechercher fichier ou dossiers.
Qui recherche donc sur tous les disques dans tous les repertoires.
Je séche grave please help me:
j'ai fait un truc comme ca mais ca cherche que sous C: et pas tous les fichiers en gros marche pas:
@echo off
:start
cd\
cls
set /p VAL=Entrer le nom a rechercher :
set /p REP1=Entrer le repertoire pour la recherche! :
cls
cd %REP1%
cls
echo.
echo Recherche de %VAL% dans %REP1% en cours:
echo.
for /f "delims=" %%a in ('dir %REP1% /b /ad /s ^| findstr /i \%VAL%') do echo "%%a\*.*"
:RE
echo.
set /p choice=Nouvelle recherche [O/N]?
if '%choice%'=='o' goto start
if '%choice%'=='O' goto start
if '%choice%'=='N' goto FIN
if '%choice%'=='n' goto FIN
ECHO "%choice%" is not valid please try again
ECHO.
cls
goto RE
:FIN
Merci les gens c'est cool de m'aider!