Modification

Résolu
Jordi.D Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
 Jordi.D -
Bonsoir a tous
J'aurais besoin d'aide s'il vous plaît donc j'explique mon problème.
J'ai un fichier *.reg il faut que je modifie N fois la valeur contenu dans le fichier car il dupliquer à chaque fois ( On connaît le numéro de la ligne)

Contenu du fichier:
"; 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 xx xxx
; File created 1/11/2003 00:27:58
;

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

Il faut que je modifie le "BAM201" suivant une suite logique de la duplication d'un fichier
Ex si mon fichier Ce nomme V206
La ligne "Name"="BAM206" ainsi de suite

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Re bonjour,


J'ai un fichier *.reg il faut que je modifie N fois la valeur contenu dans le fichier car il dupliquer à chaque fois ( On connaît le numéro de la ligne)

J'ai un doute sur ta question....

Tu dis avoir 1 Fichier
Et que la ligne à modifier (dont tu connais le numéro) est dupliquée ....
Seulement, dans l'exemple que tu donnes de ton fichier.. il n'y a qu'une seule ligne...

Donc.. soit tu as plusieurs fichiers
Soit l'exemple que tu donnes est incomplet...


Rappelles toi ce que je t'ai dit dans ta précédente discussion au sujet de la clarté de tes explications....
Merci donc de préciser exactement ce qu'il en est et de donner un exemple "complet"

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
EDIT : en relisant ta question.. tu parles du fichier qui est dupliqué.
Donc tu as plusieurs fichiers..

Ok.. par contre ils se trouvent tous dans le même dossier ?
Les fichiers ont tous des noms de la même forme ? Juste le chiffre qui change à la fin ?
0
Jordi.D Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour
En effet c'est un dossier qui est dupliquer a chaque fois qui contient le fichier *.reg
Par exemple
-TestN15
-TestN16 etc
le fichier *.reg est contenue dans chaque dossier et il doit " corresponde on numéro du dossier" donc ici
Name =bam15 et 16
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Jordi.D Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Donc ce n'est pas plusieurs lignes dans un fichier
Ce n'est pas non plus plusieurs fichiers dans un dossier
Maintenant c'est plusieurs dossiers qui contiennent chacun un fichier ?
C'est bien ça ?

Et tous les dossiers se nomment de la même manière hormis le chiffre à la fin ?
Le fichier reg à l'intérieur de ce dossier a comme nom *.reg ?? bizarre que l'étoile soit autorisée dans le nom du fichier...

Donc :
Tu peux faire un script qui récupère la liste des dossiers
Puis faire une boucle sur cette liste
dans la boucle :
récupérer le nom du dossier
extraire, à l'aide d'une regex, le numéro qui se trouve dans le nom
en t'inspirant du script que je t'ai donné pour la modification de ligne dans ta précédente question, procéder au renommage (il faut un peut le modifier pour retirer les msgbox par exemple ) de la variable dans le fichier .reg
puis on passe au dossier suivant...



En complément :

Exemple de regex :
str = "TestN15"
Set RegEx = CreateObject("vbscript.regexp") 
RegEx.Pattern = "[^\d]"
RegEx.IgnoreCase = True 
RegEx.Global = True 
numStr=RegEx.Replace(str, "") 
msgbox numStr

incrémenter une variable
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Pour récupérer la liste des dossiers :
  folders = getFolders("c:\")
  for each dossier in folders
    'ici tu code le traitement ..
	'...
	' par exemple .. la récupération du numéro du dossier :
              Set RegEx = CreateObject("vbscript.regexp") 
               RegEx.Pattern = "[^\d]"
              RegEx.IgnoreCase = True 
              RegEx.Global = True 
              numStr=RegEx.Replace(dossier, "") 
              msgbox numStr
	
	
	
	' fin de la boucle sur les dossiers
  next



function getFolders(directory)
	Dim arr1()
	Dim folder
	Dim fsoFolder
	Dim subfolders
	Dim i
	
	Set fsoFolder = CreateObject("Scripting.FileSystemObject")
    Set folder = fsoFolder.GetFolder(directory)
    Set subfolders = folder.SubFolders
	
	i = 0
	for each objFolder in subfolders
      REDIM PRESERVE arr1(i+1)		
      arr1(i) = objFolder.Name
      i = i+ 1
      
    next
	getFolders = arr1
End Function



Je te laisse coder le reste
0
Jordi.D Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Salut
Donc si je comprends bien y'a un Script pour récupéra la valeur de tous les dossier et l'autre pour pouvoir changer le contenue du fichier c'est sa ?
0
Matador.J Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Donne lui Le code qu'il arrête de saoul
0
Jordi.D Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
 
Désole je suis novice aussi en vbs donc je ne comprends pas vraiment :/
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Ohhh... Deux comptes du même utilisateur...
C'est bien...
Ben vu que je "vous" saoul.. d#*&erde toi...
0
Jordi.D > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Lol vous êtes naïve deux compte certe mais pas du même utilisateur..il s'agissait de mon frère .
Mais merci quand même jai reussi à trouvé le problème bonne soirée
0