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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| ---------------------------------------
'Remplace une valeur par une autre
'pour tous les fichiers selectionnés
'---------------------------------------
Option Explicit
Dim Saisie1, Saisie2
Saisie1 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Quelle chaine de caractères" &_
" voulez-vous remplacer ???","Modification par lot", "cachesizemegs=32")
If Saisie1 = "" Then WScript.Quit
Saisie2 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Par quelle chaine de caractères" &_
" voulez-vous remplacer la chaine " & Saisie1 &_
" ???","Modification par lot", "cachesizemegs=512")
If Saisie2 = "" Then WScript.Quit
MsgBox vbCrLf&"Choisissez maintenant tous les fichiers" &_
vbCrLf&"pour lesquels vous voulez remplacer la chaine:" &_
vbCrLf&Saisie1, vbExclamation, "Modification par lot"
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, i, j, strtmp, Resultat
Set fso = CreateObject("Scripting.FileSystemObject")
'affiche une boite de dialogue à choix multiples
'*****valable uniquement sur XP*****
Dim objDialog, intResult, arrFiles, strPath, strFile
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "sysconfig.ini |*.ini"
objDialog.Flags = &H0200
objDialog.FilterIndex = 1
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
arrFiles = Split(objDialog.FileName, " ")
For i = 1 to Ubound(arrFiles)
strFile = arrFiles(i)
Dim objTextStream
Set objTextStream = Fso.OpenTextFile(strFile, ForReading)
Resultat = objTextStream.ReadAll
strtmp = split(Resultat,"")
For j = 0 to Ubound(strtmp)
If instr(trim(strtmp(j)),Saisie1) Then
strtmp(j) = Replace(strtmp(j), Saisie1, Saisie2)
End If
objTextStream.Close
Set objTextStream = Fso.OpenTextFile(strFile, ForWriting, True)
objTextStream.Write strtmp(j)
objTextStream.Close
Next
Next
End If
Set objTextStream = Nothing
Set fso = Nothing
Set objDialog = Nothing
MsgBox "Modifications effectuées !!!", vbInformation, Now() |
Partager