Bonjour a tous je suis nouveaux ici
Je suis actuellement en stage et mon tuteur ma demander de génère un script .vbs pour lui.
En gros j'ai plusieurs dossiers nommé Test201 à Test (n) (n étant un nombre quelconque) suivant une suite logique dans chaque dossiers il y a un fichier xxx.reg
Contenue du fichier xxx.reg
; The RegSave Utility created this file
; This utility was written by Paul Hurford, Symbol EMEA TS
; You use the utility at your own risk
;
; Template File : \Application\RegSave.Reg
; Program Version : 2.20.01 May 13 2004 15:24:26
; File created 1/11/2003 00:27:58
;

[HKEY_LOCAL_MACHINE\Ident]
"Name"="Test201"

Donc ce qui ma été demander c'est que a chaque nouvelle copie du dossier Test le "Name"=Test prend la valeur du numéro du dossier
exemple
si j'ai Test202 Test 203

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
FileName = "test.reg"
   FindStr = """name""" & "=" & """BAM201""" 
  ReplaceWith = """Name"""  & "=" & """BAM20x""" 
 
'Read source text file
FileContents = GetFile(FileName)
 
'replace all string In the source file
dFileContents = replace(FileContents, FindStr, ReplaceWith, 1, -1, 1)
 
'Compare source And result
if dFileContents <> FileContents Then
  'write result If different
  WriteFile FileName, dFileContents
 
  Wscript.Echo "Replace done."
  If Len(ReplaceWith) <> Len(FindStr) Then 'Can we count n of replacements?
    Wscript.Echo _
    ( (Len(dFileContents) - Len(FileContents)) / (Len(ReplaceWith)-Len(FindStr)) ) & _
    " replacements."
  End If
Else
  Wscript.Echo "Text :" & FindStr & "  non présent dans le fichier"
End If
 
'Read text file
function GetFile(FileName)
  If FileName<>"" Then
    Dim FS, FileStream
    Set FS = CreateObject("Scripting.FileSystemObject")
      on error resume Next
      Set FileStream = FS.OpenTextFile(FileName)
      GetFile = FileStream.ReadAll
  End If
End Function
 
'Write string As a text file.
function WriteFile(FileName, Contents)
  Dim OutStream, FS
 
  on error resume Next
  Set FS = CreateObject("Scripting.FileSystemObject")
    Set OutStream = FS.OpenTextFile(FileName, 2, True)
    OutStream.Write Contents
End Function
 
Voici un code qui lui change une chaine de caractère précise
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
 
setlocal enabledelayedexpansion
 
set "$C:\"="xxx.reg"
 
(for /f "delims=" %%a in ('type "Idxx.reg"') do (
  set "$ligne=%%a"
  set "$ligne=!$ligne:%~10=%~15!
  echo !$ligne!)
)>sortie.reg
pause
Celui ci est en .bat il ne copie pas les commentaire et supprime des caractère