Remplacer un string dans un .VBS avec la valeur de ImputBox
Bonjour,
J'ai fait un premier script pour modifier le nom du serveur dans un fichier .ini.
Celui-ci fonctionne bien. :D
Mais comme ce fichier est destiné à etre distribué sur plusieurs sites (donc autres serveurs) j'ai fait un deuxieme script, presque identique, sauf que j'ai rajouté deux InputBox. L'IT de chaque site tape le nom de l'ancien serveur puis le nom du nouveau dans la ImputBox, ce qui modifie le premier script à deployer.
Mon probleme est que mon Write Replace ne semble pas vouloir ecrire la valeur de la variable definie par le Imputbox
(Codes recupérés par ci par là)
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
| Dim ts
Dim fso
Dim sFileText
Dim StrOLD As String
Dim StrNEW As String
Const ForReading = 1 ' utilisé par FSO
Const ForWriting = 2 ' utilisé par FSO
StrOLD = InputBox("Saisissez le nom de l'ancien serveur de messagerie (chaine de caractère à remplacer dans le fichier notes.ini.)" , "Personalisation de Replace_Server_Name.vbs" , "Old_Server_Name")
StrNEW = InputBox("Saisissez le nom de l'ancien serveur de messagerie (chaine de caractère à remplacer dans le fichier notes.ini.)" , "Personalisation de Replace_Server_Name.vbs" , "New_Server_Name")
src = "C:\name2.txt"
' Initialise le FSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Ouvre le fichier en lecture
Set ts = objFSO.OpenTextFile(src, ForReading, False)
' Lit son contenu
sFileText = ts.ReadAll
' Ferme le fichier
Call ts.Close
' Ouvre le fichier en écriture
Set ts = objFSO.OpenTextFile(src, ForWriting, False)
' Modifie son contenu en remplacant la chaine
Call ts.Write(Replace(sFileText, "String a remplacer dans le 1er vbs", StrOLD))
' Ferme le fichier modifié
ts.Close |
Y a t-il quelqu'un parmis vous qui aurait la gentilesse de m'aider ?
Merci par avance de vos réponses.