VBS - Fichier en sortie inattendu
Bonjour,
Novice en VBS, j'ai récupéré des infos sur les forums pour contruire un outil qui permet de remplacer des chaines de caractères dans des fichiers.
Voici le code utilisé
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
|
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f , WshShell
Dim st
Dim fichier, rep_out, v_new, v_old
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = CreateObject("WScript.Shell")
fichier = Wscript.Arguments(0)
v_old = Wscript.Arguments(1)
v_new = Wscript.Arguments(2)
'Ouverture et lecture du fichier à modifier
Set f = fso.OpenTextFile(fichier, ForReading)
st = f.readAll
f.Close
st = Replace(st, v_old,v_new)
st = Replace(st, vbcrLf, vbLf)
'ecriture du fichier modifié... aprés avoir remplacer ancienne version par nouvelle
Set f = fso.OpenTextFile(fichier, ForWriting)
f.Write st
f.close |
Normalement, le fichier en sortie devrait être identique au fichier en entrée, aux chaines remplacées près.
Or le fichier est très différent, il semble que des caractères bizarres soient insérés ou remplacent d'autres caractères.
Voici le déroulement de ma procédure ( sous DOS ) :
- Copie du fichier de reference sur un répertoire de travail
- exécution de la procédure vbs sur le fichier copié
Ensuite je compare les deux fichiers avec Ultraedit.
Le fichier traité est un fichier texte standard.
Merci d'avance pour votre aide.