IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Remplacer un string dans un .VBS avec la valeur de ImputBox


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut 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.

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre confirmé Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Points : 582
    Points
    582
    Par défaut
    Salut.

    Je pense que ça devrait marcher, mais il faut que les strings aient la même casse, pour la comparaison dans le Replace.

    Essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ts.Write Replace(sFileText, StrNEW, StrOLD, vbTextCompare)
    Et puis je pense que tu peux virer tes "Call", il ne sont pas indispensables.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/12/2008, 11h40
  2. Réponses: 6
    Dernier message: 11/06/2008, 15h48
  3. Réponses: 11
    Dernier message: 02/08/2007, 09h04
  4. [Batch] remplacer une string dans un fichier
    Par yelbied dans le forum Windows
    Réponses: 5
    Dernier message: 12/07/2007, 10h36
  5. remplacer les String dans un fichier
    Par makohsarah dans le forum Langage
    Réponses: 3
    Dernier message: 29/05/2006, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo