Bonjour ,j'ai besoin de créer un batch qui recherche une chaîne de caractères dans une série de fichiers et qui ouvre les fichiers ou la chaîne aurat été detecter, quelqu'un saurait-il m'aider ?
Bonjour ,j'ai besoin de créer un batch qui recherche une chaîne de caractères dans une série de fichiers et qui ouvre les fichiers ou la chaîne aurat été detecter, quelqu'un saurait-il m'aider ?
sauf erreur de ma part, pour faire une recherche dans un fichier, tu dois obligatoirement l'ouvrir
Donc, si tu veux, tu les ouvre tous un par un et tu fait tes test à chaque fois mais tu ne laisse ouvert que ceux qui répondent positif
Après, si ton problème est au niveau de la recherche dans chaque fichiers, pourrais tu préciser à quels type de fichiers tu as affaire?
Pti Pié
Bonjour pour tout types de fichiers contenant du texte, .txt, .ini, .inf, ect ...
Voilà un morceau de code dont tu peux t'inspirer, il permet de rechercher une chaine de caractère dans tous les fichiers présents dans un dossier et te ressort le tout dans un tableau excel... Si tes fichier ne sont pas codés, ça devrait fonctionner...
Code : 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
30
31
32
33
34
35 Sub Main() Dim objexcel As Object Dim dernierligne As Long Dim fso, dossier, fichier Dim ligne As String Set objexcel = CreateObject("Excel.Application") objexcel.DisplayAlerts = False objexcel.workbooks.Add chemin = "c:\" Set fso = CreateObject("Scripting.FileSystemObject") Set dossier = fso.GetFolder(chemin) currentuser = Environ("USERNAME") For Each fichier In dossier.Files dernierligne = objexcel.Range("A1").CurrentRegion.Rows.Count Open fichier For Input As #1 Dim flag As Integer flag = 0 While Not EOF(1) Line Input #1, ligne if instr(ligne, "le_mot_que_je_cherche") <> 0 objexcel.Cells(dernierligne, 1).formula = fichier.name objexcel.Cells(dernierligne, 2).formula = ligne end if Wend Close #1 Next objexcel.workbooks(1).saveas "C:\Documents and Settings\" & currentuser & "\Desktop\total.xls" objexcel.Quit Set objexcel = Nothing Set fso = Nothing Set dossier = Nothing End Sub
Pourquoi vouloir ré-inventer la roue...
...Surtout si c'est pour la faire carrée...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager