j'ai récupéré un script vbs permettant de remplacer une valeur par une autre dans ou des fichiers selectionnés manuellement, via une box.

Devant toujours éditer un ou des fichiers INI, contenus dans le même répertoire, mais pouvant se trouver à différents emplacement, suivant l'installation effectuée par l'utilisateur, j'aimerais :

- soit avoir la possibilité soit de mémoriser, via une checkbox, le chemin de destination de ce répertoire, si cela est possible, pour éviter de retourner rechercher le fichier manuellement à chaque utilisation...

- soit avoir une recherche auto et mémorisation du chemin...

Comment proceder ?
Et le script ci-dessous est-il des plus adapté?

merci par avance

'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()