Bonjour à tous,
Je suis nul en programmation car ce n’est pas mon domaine mais j’aurais besoin de vous pour un petit coup de main s'il vous plait.
Voici un programme que j’ai trouvé sur internet en format autoit :
Je souhaite qu’il ouvre tout les fichiers en format txt d’un répertoire qu’il les ouvrent et qu’il les scans pour trouver des mots spécifiques.
Actuellement le programme sait ouvrir un fichier et le scanner mais j’aimerais qu’ils les ouvrent tous. J’ai essayé de remplacer « test.txt » par « *.txt » mais ca aurait été trop simple.
Je ne suis pas fermé à un langage de programmation au contraire mais comme j’avais trouvé celui-ci et qu’il fonctionne presque.
J’espère que vous pourrez m’aider. D’avance merci.
Code :
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
#cs
Script de recherche de mots dans un fichier défini
Auteur :
Ajout d'un compteur de ligne
#ce
$NomFichier = "test.txt" ; le nom du fichier a parcourir
local $j
;tableau 1D
Global $ChaineRecherchee[6] ; comme on démarre le tableau par 0 on compte bien 6 éléments dans le tableau.
$ChaineRecherchee[0] = "boule"
$ChaineRecherchee[1] = "torique"
$ChaineRecherchee[2] = "fraise"
$ChaineRecherchee[3] = "Carottes"
$ChaineRecherchee[4] = "steak"
$ChaineRecherchee[5] = "Mayonnaise"
;Recherche
For $j in $ChaineRecherchee
$Resultat = "La chaine " & chr(34) & $j & chr(34) & " a été trouvée : "&@CRLF ; le début de la popup en cas de résultat
$Trouve = False ; le switch qui indiquera si on trouve
$i=1 ; on ajoute un compteur
$Fichier = FileOpen($NomFichier, 0) ; on ouvre le fichier
If $Fichier = -1 Then ; Vérification que le fichier est correctement ouvert
MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier")
Exit
EndIf
While 1 ; Et on parcoure le fichier...
$ligne = FileReadLine($Fichier) ; ... en lisant chaque ligne...
If @error = -1 Then ; ... jusqu'a la fin...
ExitLoop
Else
If StringInStr($ligne,$j,2) <> 0 Then ; Si on trouve la chaine a chercher dans la ligne
$Resultat = $Resultat &"l."&$i & @CRLF ; ... on l'inscrit dans les résultats ...
$Trouve = True ;... et on précise qu'on a trouvé
EndIf
$i = $i + 1 ; On incrémente le compteur de ligne
EndIf
Wend
FileClose($NomFichier) ; on n'oublie pas de fermer le fichier
if $Trouve = True Then; Si on a trouvé...
msgbox(0,"Résultat",StringTrimRight($Resultat,2)) ; ... On l'affiche
EndIf
Next |