Recherche texte + modification dans un fichier

Recherche texte + modification dans un fichier - VB/VBA/VBS - Programmation

Marsh Posté le 04-11-2010 à 10:29:18    

Bonjour,
 
Je souhaite rechercher une ligne particulière dans un fichier et effectuer différente action en fonction de ce que je trouve :
 
Le fichier en question sert au paramétrage de JAVA "deployment.properties"
Ce fichier se trouve ici : C:\Documents and Settings\nom_utilisateur\Application Data\Sun\Java\Deployment\
 
Je souhaite rechercher la ligne suivante dans ce fichier :
deployment.security.mixcode=HIDE_RUN
 
SI je ne trouve pas cette ligne
ALORS je veux la rajouter. (même en fin de fichier ça ne gêne pas)
 
SI je trouve cette ligne, mais avec HIDE_CANCEL ou DISABLE
ALORS je veux supprimer cette ligne et rajouter "deployment.security.mixcode=HIDE_RUN" (même en fin de fichier ça ne gêne pas)
 
Pouvez-vous m'aider ?
Cordialement,
 
Lionel


Message édité par antolionux le 04-11-2010 à 10:31:41
Reply

Marsh Posté le 04-11-2010 à 10:29:18   

Reply

Marsh Posté le 04-11-2010 à 11:58:43    

tu veux faire ça en script VBS ?

Reply

Marsh Posté le 05-11-2010 à 10:44:01    

Xxxaaavvv a écrit :

tu veux faire ça en script VBS ?


 
Oui, en VBS.
 
J'ai finalement trouvé un bout de script que j'ai réadapté à mon besoin, ça fonctionne nikel, je met le code si ça intéresse quelqu'un  
 

Code :
  1. on error resume next
  2. ' ------------------- Fontion ------------------- '
  3. ' Recherche une correspondance entre les chaînes  '
  4. ' de caractère passées en paramètres              '
  5. ' Retourne vrai ou faux selon le résultat         '
  6. public function mylike(ByVal Name,ByVal pattern)
  7.         Dim objRegExpr
  8.         Set objRegExpr = New regexp
  9.         objRegExpr.Pattern = pattern
  10.         objRegExpr.Global = True
  11.         Set colMatches = objRegExpr.Execute(Name)
  12.         if colMatches.Count =0 Then
  13.                 mylike=false
  14.         else
  15.                 mylike=true
  16.         End If
  17. End Function
  18. ' ------------------------------------------------ '
  19. ' Déclaration des constantes '
  20. Const ForReading = 1, ForWriting = 2
  21. ' Déclaration des variables '
  22. Dim comp, rep, path, before, after, flag
  23. flag = 0
  24. ' Extraction du nom de session  '
  25. Set wshnetwork = WScript.CreateObject("WScript.Network" )
  26. user = wshnetwork.username
  27. path = "C:\Documents and Settings\" & user & "\Application Data\Sun\Java\Deployment"
  28. ' Identification des chaîne de caractère à chercher et remplacer '
  29. comp = "deployment.security.mixcode="
  30. rep = "deployment.security.mixcode=HIDE_RUN"
  31. ' Début de procédure de scan du fichier '
  32. Set oFso = CreateObject ("Scripting.FileSystemObject" )
  33. Set flecture = oFso.OpenTextFile (path & "\deployment.properties", ForReading)
  34. Set fecriture = oFso.OpenTextFile (path & "\deployment.tmp", ForWriting, true)
  35. Do While Not flecture.AtEndOfStream
  36. ligne = flecture.ReadLine
  37. if mylike (ligne, comp) then
  38.  fecriture.WriteLine (rep)
  39.  flag = 1
  40. else
  41.  fecriture.WriteLine (ligne)
  42. end if
  43. Loop
  44. if ( flag = 0 )then
  45. fecriture.WriteLine (rep)
  46. end if
  47. flecture.close
  48. fecriture.close
  49. ' Fin de procédure de scan du fichier '
  50. ' Suppression du fichier réel '
  51. oFso.DeleteFile(path & "\deployment.properties" )
  52. before = "" & path & "\deployment.tmp"
  53. after = "" & path & "\deployment.properties"
  54. ' Renommage du fichier modifier par son nom réel '
  55. oFSO.MoveFile (before , after)
  56. Set oFso = nothing


Message édité par antolionux le 05-11-2010 à 10:46:46
Reply

Sujets relatifs:

Leave a Replay

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