Script de remplacement de chaine de caracteres : vide aleatoirement les fichiers REG
Bonjour;
je ne maitrise pas du tout le vb. J'ai trouvé ceci pour remplacer une chaine de caractères dans un fichier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 'To use this revised script (which well call replace.vbs) just type a command similar to this from the command prompt:
'cscript replace.vbs "C:\Scripts\Text.txt" "Jim " "James "
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewText 'WriteLine adds extra CR/LF
objFile.Close |
celui ci fonctionne très bien et me permet de changer la page d’accueil des navigateurs dans mes GPO MAIS:
il semble que certain fichier ne se comporte pas de la bonne manière. Certain fichier sont littéralement vidé !
Après divers test je ne comprend pas si j'ai un problème de dénomination, de contenu, d’écriture (j'ai déplace a la racine d: les fichiers pour voir...)
fichier de référence qui fonctionne correctement
\SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\FireFox\userFIREFOX-cache0.js
fichier OK:
SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\IE\proxyIE.reg (test en retirant le "-")
SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\IE\proxy-IE (test en retirant l'extention .reg)
fichier ok a la racine d:
d:\proxy-IE.reg (nom d'origine)
fichier vidé avec message d'erreur:
SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\IE\proxy-IE.reg (nom d'origine)
SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\IE\proxyIE (test en retirant l'extention .reg et le "-")
\SysWOW64_GroupPolicy\User\Scripts\Logon\ScriptCommun\FireFox\proxy-IE.reg (nom d'origine dans le dossier FireFox)
message erreur:
d:\replace.vbs(19:1) Erreur d'execution Microsoft VBScript: Argument ou appel de procedure incorect
je n'est pas de différence de droit d'ecriture entre ScriptCommun\FireFox et ScriptCommun\IE
A quoi je dois ce phénomène ?