Modification

Résolu
Jordi.D Messages postés 60 Statut Membre -  
 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

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    2. Jordi.D Messages postés 60 Statut Membre
       
      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
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Jordi.D Messages postés 60 Statut Membre
       
      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
    4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    5. Jordi.D Messages postés 60 Statut Membre
       
      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
  2. Matador.J Messages postés 1 Statut Membre
     
    Donne lui Le code qu'il arrête de saoul
    0
    1. Jordi.D Messages postés 60 Statut Membre
       
      Désole je suis novice aussi en vbs donc je ne comprends pas vraiment :/
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Ohhh... Deux comptes du même utilisateur...
      C'est bien...
      Ben vu que je "vous" saoul.. d#*&erde toi...
      0
      1. Jordi.D > jordane45 Messages postés 30426 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