Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1900 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  recherche texte dans .bat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recherche texte dans .bat

n°2011782
Perceval_D​e_Galles
Nonocourge / TredecPouPou
Posté le 26-07-2010 à 12:43:41  profilanswer
 

Bonjour,
 
 
Je voudrai créer un .bat capable de chercher parmi des centaines de fichiers, ceux qui contiennent la chaine de caractère "chainedecaracteres" et de copier ces fichiers dans un répertoire précis.
 
J'espère que mon explication est compréhensible !!!


Message édité par Perceval_De_Galles le 26-07-2010 à 16:17:52

---------------
Appuyez vous sur les principes ils finiront bien par céder.
mood
Publicité
Posté le 26-07-2010 à 12:43:41  profilanswer
 

n°2011851
pataluc
Posté le 26-07-2010 à 15:48:49  profilanswer
 

salut,
 
heu... tu veux pas éditer ton post la? parce que c'est un poil illisible.
 
et sinon, regarde du coté de "find" (find /? -> ce qui sous windows se rapproche le plus de grep sous linux)... find te renvoie un code retour 0 ou 1 en fonction du résultat de la recherche. derriere tu met un if errorlevel et ca roule...
 
++
 

n°2011867
Perceval_D​e_Galles
Nonocourge / TredecPouPou
Posté le 26-07-2010 à 16:18:39  profilanswer
 

J'en suis arrivé ici :
for %%a In ("c:rep1*.txt";) do >nul find "texte recherché" < "%%a" && echo copy %%~sa c:rep2
 
---> ne fonctionne pas


Message édité par Perceval_De_Galles le 26-07-2010 à 16:20:31

---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°2011879
pataluc
Posté le 26-07-2010 à 16:44:00  profilanswer
 

je ne crois pas que le && fonctionne sous windows... tu es obligé de checker le résultat de ta commande qui est stocké dans %ERRORLEVEL%.

n°2011894
aigles
Posté le 26-07-2010 à 17:26:57  profilanswer
 

A essayer et adapter :

Code :
  1. FOR /F "tokens=*" %f IN ('findstr /M "chaine" c:\rep1\*.txt') DO ECHO COPY %f C:\rep2


 
Jean-Pierre.

Message cité 1 fois
Message édité par aigles le 26-07-2010 à 17:28:20
n°2012019
Perceval_D​e_Galles
Nonocourge / TredecPouPou
Posté le 27-07-2010 à 10:27:04  profilanswer
 

aigles a écrit :

A essayer et adapter :


Code :
  1. FOR /F "tokens=*" %f IN ('findstr /M "chaine" c:rep1*.txt') DO ECHO COPY %f C:rep2


J'ai adapté et ca me retourne "f était inattendu" !!!


Message édité par Perceval_De_Galles le 27-07-2010 à 14:45:26

---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°2012057
pataluc
Posté le 27-07-2010 à 11:18:15  profilanswer
 

le for a un fonctionnement bizarre... il faut mettre un "%" devant les variables si tu le tapes dans une invite de commande, mais 2 "%%" si tu le mets dans un bat...
 
essaie donc avec:

Code :
  1. FOR /F "tokens=*" %%f IN ('findstr /M "chaine" c:rep1*.txt') DO ECHO COPY %%f C:rep2


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  recherche texte dans .bat

 

Sujets relatifs
Pattern Java | Probleme ecriture dans fichier texte.Recherche plein texte PDF / indexation
Recherche de mot dans un composant texte SWINGmise en page texte de resultat de recherche propre
[SGBD] Base de données "embarquée" avec fonctions de recherche texte[VBA-W]Insérer du texte après une recherche
Aller à la derniere ligne d'un fichier texte et recherche chaine[MSSQL ] Recherche de texte intégral
Recherche d'un code : Texte défilant verticalement de façon non sacadérecherche de scipt de mise a jour texte dans site
Plus de sujets relatifs à : recherche texte dans .bat


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR