Modification d'un fichier vbscript

Modification d'un fichier vbscript - VB/VBA/VBS - Programmation

Marsh Posté le 24-11-2005 à 17:15:31    

Ce vbcript fais une modification les symbles "titi" du fichier toto.txt par l'emplacement ou est situé le fichier toto.txt
 
j'aimerais que la modification se fasse dans un *.reg pour la base de registre.  
le problème c'est que dans un *.reg  , le path doit comporter deux antislashs pour qu'il soit pris en compte dans la base de la registre => C:\\Program Files\\Grosminet\\Donald\\ (et non pas C:\Program Files\Grosminet\Donald\  
 
quelle est la modification à faire dans ce vbscript pour qu'il y ait ces deux antislashs ?  
 
merci  
 
ps: j'y connais rien en vbscript :/
 

Code :
  1. ' Remplace tous les symboles "titi" dans le fichier "toto.txt"
  2. ' par le nom du dossier où se trouve "toto.txt"
  3. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  4. Dim fso, f_in, f_out
  5. Set fso = CreateObject("Scripting.FileSystemObject" )
  6. old_string = "titi"
  7. new_string = fso.GetParentFolderName(fso.GetFile("toto.txt" ))
  8. ' Wscript.Echo new_string 'Debug
  9. Set f_in = fso.OpenTextFile("toto.txt", ForReading)
  10. Set f_out = fso.OpenTextFile("toto_tmp.txt", ForWriting, true)
  11. Do Until f_in.AtEndOfStream
  12.    txt_line = f_in.ReadLine
  13.    token_pos = Instr(txt_line, old_string)
  14.    If (token_pos > 0) Then
  15.       ' Wscript.Echo token_pos & " " & txt_line 'Debug
  16.       new_txt_line = ""
  17.       If (token_pos > 0) Then
  18.          new_txt_line = Left(txt_line, token_pos - 1)
  19.       End If
  20.       new_txt_line = new_txt_line & new_string
  21.       If (token_pos + Len(old_string) - 1 < Len(txt_line)) Then
  22.          new_txt_line = new_txt_line _
  23.             & Right(txt_line, Len(txt_line) - token_pos - Len(old_string) + 1)
  24.       End If
  25.       txt_line = new_txt_line
  26.       ' Wscript.Echo token_pos & " " & txt_line 'Debug
  27.    End If
  28.    f_out.WriteLine txt_line
  29. Loop
  30. f_in.Close
  31. f_out.Close
  32. ' Remplace toto.txt par le nouveau fichier toto_tmp_.txt
  33. fso.DeleteFile "toto.txt", true
  34. fso.MoveFile "toto_tmp.txt", "toto.txt"


Message édité par Space le 24-11-2005 à 17:17:25
Reply

Marsh Posté le 24-11-2005 à 17:15:31   

Reply

Marsh Posté le 24-11-2005 à 19:04:07    

Juste après la ligne
 
   new_string = fso.GetParentFolderName(fso.GetFile("toto.txt" ))  
 
ajouter
 
   new_string = replace(new_string, "\", "\\" )
 
(d'ailleurs le reste du programme pourrait être un peu simplifié avec un autre replace au lieu de left et right, mais ce n'est pas la question).

Reply

Marsh Posté le 25-11-2005 à 14:09:32    

encore toi :o
 
:jap: :)


---------------
Ma cinémathèque
Reply

Sujets relatifs:

Leave a Replay

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