Faire une recherche avec un Batch

Faire une recherche avec un Batch - Shell/Batch - Programmation

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!

Reply

Marsh Posté le 15-07-2005 à 13:57:54   

Reply

Marsh Posté le 15-07-2005 à 16:24:33    

findstr
 
http://www.microsoft.com/resources [...] ndstr.mspx


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

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é.

Reply

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!!!

Reply

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é ?

Reply

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!

Reply

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 :)

Reply

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 ;)

Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed