Rechercher et renommer une chaine de caractère complexe dans un fichier texte
Utilisateur anonyme
-
23 juin 2011 à 12:37
Utilisateur anonyme -
23 juin 2011 à 13:25
Bonjour à tous,
Aujourd'hui je m'adresse à vous car je suis totalement perdu. Depuis peu j'essaye d'automatiser certaines tâches par des scripts, mais je dois avouer que je n'y connais rien.
Il se trouve que dans mon entreprise nous utilisons un logiciel (sur une cinquantaine de postes) qui utilise les listes blanches et noires. Il faudrait que j'arrive à modifier une suite de ces valeurs sans toucher aux autres. Car il me faudrait un temps monstre pour tout faire à la main, que je n'ai pas. De plus, tous les ordis ont des listes blanches et noires différentes.
mais malgré mes recherches et les nombreux posts à ce sujet je ne suis arrivé à rien...
En réalité, ce que je veux faire c'est :
1* extraire la clé de registre
2* si la valeur existe, la modifier en la remplaçant seulement, sans porter atteinte aux autres
3* puis la réinjecter
4* relancer le service
Je sais tout faire sauf le 2*.
Oui c'est toujours la même série de nombre que je veux changer, s'il existe, qui correspond à un numéro d'autorisation d'accès (généré à partir du numéro de série de la carte mère) de l'ancien ordi sortant par celui du nouvel ordi.
J'ai trouvé un script posté par PCPT, mais comme je débute que depuis un mois... Mon niveau n'est pas assez suffisant pour bien le comprendre... Je ne sais pas ou insérer les valeurs à chercher et à remplacer...
Private Function ChangeWords(sWordsToRemove, sWordsToChange, sFile)
If FileExists(sFile) Then
' ouvre le fichier
Dim sBuffer
sBuffer = ReadDataFromFile(sFile)
' ligne à changer existe?
If InStr(1, sBuffer, sWordsToRemove) > 0 Then
sBuffer = Replace(sBuffer, sWordsToRemove, sWordsToChange)
WriteDataToFile sFile, sBuffer
ChangeWords = True
End If
End Function
Function ReadDataFromFile(sPathFile)
' reader
Dim oFSO
Set oFSO = CreateObject("Scripting.fileSystemObject")
' fichier
Dim oFile
Set oFile = oFSO.GetFile(sPathFile)
' stream
Dim oStream
Set oStream = oFile.OpenAsTextStream(ForReading)
' retour
ReadDataFromFile = oStream.ReadAll
' nettoyage
oStream.Close
Set oStream = Nothing
Set oFile = Nothing
Set oFSO = Nothing
End Function
Function FileExists(sPathFile)
' reader
Dim oFSO
Set oFSO = CreateObject("Scripting.fileSystemObject")
' retour
FileExists = oFSO.FileExists(sPathFile)
' nettoyage
Set oFSO = Nothing
End Function
Sub WriteDataToFile(sPathFile, sData)
' reader
Dim oFSO
Set oFSO = CreateObject("Scripting.fileSystemObject")
' fichier : chemin, 2 pour écrire (et écraser), True pour forcer la création du fichier
Dim oFile
Set oFile = oFSO.openTextFile(sPathFile, 2, True)
' écriture
oFile.Write sData
' nettoyage
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing
End Sub
Si une âme généreuse pouvait m'aider...
Merci...
A voir également:
Rechercher et renommer une chaine de caractère complexe dans un fichier texte
le deuxième paramètre est la chaîne à changer, le 3ème est la chaîne qui la remplace.
Ces deux paramètres sont à passer à :
Private Function ChangeWords(sWordsToRemove, sWordsToChange, sFile)
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est