Et voilà le résultat (certainement pas optimisé, mais c'est la prochaine
étape) :
---------------
Option Explicit
Const To_Read = 1 'option for opentextfile
Const To_Write= 2
Const Folder = "C:\test\"
Const FileToModify = "test.txt"
Const Filetemp = "Tempfile.txt"
Dim File1
Dim File2
Dim Read, readModify 'line to read, line if modification
Dim oFSO, F1, F2
Dim strComputer, ObjNicConfig, colNicConfigs, strDNSHostname, strDNSDomain,
objWMIService 'some hostname and dns search dim
Dim OldValue, StrKey, NewValue 'to change value
On Error Resume Next
'
'Search Hsotname and DNS Info
'
On error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objNicConfig In colNicConfigs
strDNSHostName = objNicConfig.DNSHostName
strDNSDomain = objNicConfig.DNSDomain
Next
'WScript.Echo VbCrLf & "Host Name: " & strDNSHostName & "." & strDNSDomain
'
'define dim
'
Strkey = "http://" & strDNSHostname & "/Reportserver"
OldValue = strkey
NewValue = "http://" & strDNSHostname & "." & strDNSDomain & "/Reportserver"
File1 = Folder & FileToModify
File2 = Folder & FileTemp
'
'open file, create tmpfile, read file, modify if necessary and rewrite
'
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set F1 = oFSO.OpenTextFile (File1, To_Read)
Set F2 = oFSO.CreateTextFile (File2, True, False)
Wscript.Echo "File 1 " & File1 & vbCrLf &_
"file2 " & File2 & vbCrLf &_
"strkey " & strkey & vbCrLf &_
"OldValue " & oldValue & vbCrLf &_
"Newvalue " & Newvalue & vbCrLf &_
"strDNSHostname " & strDNSHostname & vbCrLf &_
"strDNSDomain " & strDNSDomain & vbCrLf
Do Until F1.AtEndOfStream
Read = F1.ReadLine
If instr(Read,strkey)<> 0 Then
ReadModify = Replace(read, OldValue, NewValue)
F2.WriteLine ReadModify
Else
F2.WriteLine Read
End If
Loop
Set F1 = Nothing
Set F2 = Nothing
oFSO.CopyFile File1, Folder & FileToModify & ".OLD"
oFSO.DeleteFile File1
oFSO.CopyFile File2, File1
oFSO.Deletefile file2
-------------------
y'a t il, à premiere vue, des éléments gênant?
des commentaires?
Merci
Post by GaelMerci pour tout ça :)
je prépare mon script et je reviens pour corriger/optimiser un peu ;)
Merci
Post by sympatixEncore gourré !
Set F2 = oFSO.CreateTextFile (Fichier2, True, True)
il faut mettre le 3e argument à false, pour écrire en code ASCII, sinon, en
unicode, ça donne des yéroglyphes chez moi.
Set F2 = oFSO.CreateTextFile (Fichier2, True, False)
--
Cordialement
saint_path_x_arobase_t'es_laide_euh_point_fr