Page 1 sur 1
[R] Tester l'existence d'un string dans un fichier texte ?
Posté : mer. 07 déc. 2011 13:19
par jerebou
Bonjour tout le monde,
Voila je débute vraiment et je cherche a faire la chose suivante:
1. transformer un fichier dat en txt - ca c'est déjà fait
2. ouvrir ce fichier - ca c'est ok
3. vérifier si ce fichier texte contient un string en particulier - et c'est la que je bloque
Je comprends pas comment indiquer au script que c'est dans le fichier qu'il vient d'ouvrir qu'il doit aller tester l'existence du string que je veux contrôler
Alors bien sur j'ai cherché a utiliser Fileread, Stringinstr, sans succès car je ne comprends pas comment les utiliser.
Le but de tout ça c'est en fonction du texte trouvé (ou non) attribuer une valeur a une variable qui me permettra d'inscrire un résultat en conséquence - ça je sais faire
Help help merci a tous !!
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : mer. 07 déc. 2011 13:37
par TT22
Est-ce que ça te convient :
Code : Tout sélectionner
$File = "";Chemin d'accès vers unle fichier.
$String = "";Caractère(s) à rechercher.
If StringInStr(FileRead($File),$String) Then
MsgBox(64,"Info","Les caractères ont été trouvés !")
Else
MsgBox(16"Info","Les caractères n'ont pas été trouvés !")
EndIf
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : mer. 07 déc. 2011 14:05
par DimVar
Tu peux poster ton code qu'on jete un oeil ?
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : mer. 07 déc. 2011 14:27
par jerebou
Salut,
et merci pour votre aide.
Voici donc le bout de code qui nous intéresse:
;Import regdat suivant la version de Windows
If @OSVersion="WIN_XP" Then
$regdat="C:\Documents and Settings\All Users\Application Data\IM\reg.dat"
ElseIf @OSVersion="WIN_VISTA" OR "WIN_SEVEN" Then
$regdat="C:\users\all users\IM\reg.dat"
EndIf
FileCopy($regdat,@TempDir & "\IMData\regdat.txt",8)
Et c'est la que je veux donc parcourir le fichier a la recherche d'un string spécifique, car selon l'existence de ce string, et sa valeur le cas échéant, le logiciel adopte un comportement différent.
Si ce string existe, je veux stocker dans ma variable une valeur en particulier contenue dans ce string (je connais les valeurs possibles, c'est 1, 2 ou 3).
Je veux donc:
Si le string existe - que l'attribution d'une valeur a ma variable soit appliquée en fonction d'un caractère en particulier
Si le string n'existe pas - attribuer zéro a ma variable pour pouvoir rentrer les conditions de mon test et l'action a entraîner, que je sais coder.
Je précise que je ne veux pas de MsgBox, cela doit rester totalement transparent pour l'utilisateur qui lance le script.
Voila, j’espère que je suis clair dans mon énoncé.
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : mer. 07 déc. 2011 14:52
par DimVar
Eh bien tu n'as plus qu'a parcourir le fichier avec un Fileopen, puis un FileReadLine en boucle, et dans cette boucle tu analyses la chaine retournée par le FileReadLine avec StringInStr.
Est ce clair ?
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : jeu. 08 déc. 2011 08:54
par jerebou
J'ai pu utiliser le bout de code proposé par TT22, merci infiniment pour vos réponses, et probablement a bientôt.
Re: [..] Comment tester l'existence d'un string dans un txt
Posté : jeu. 08 déc. 2011 09:26
par zeshrek
n'oublie pas le [R]