IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[VBS] Mémoriser un chemin d'accès vers un répertoire donné


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [VBS] Mémoriser un chemin d'accès vers un répertoire donné
    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()

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Salut,

    tu peux mémoriser ta chaîne par exemple dans la base de registre (RegWrite) ou l'écrire dans un fichier texte que tu stockes dans un répertoire.
    Ensuite, à la prochaine exécution, le VBS ira lire cette clé de registre ou le contenu du fichier texte.

    Karl.

Discussions similaires

  1. [OL-2010] Chemin d'accés vers l' Archive
    Par nassiri dans le forum Outlook
    Réponses: 3
    Dernier message: 07/11/2013, 23h01
  2. Chemin d'accès vers un sous-répertoire
    Par Depite dans le forum ASP
    Réponses: 4
    Dernier message: 06/03/2013, 12h30
  3. Comment connaître le chemin vers un répertoire donné ?
    Par Bobsinglar dans le forum Struts 2
    Réponses: 4
    Dernier message: 10/10/2008, 09h17
  4. Chemin d'accès absolu du répertoire courant
    Par aoshi85 dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2008, 15h45
  5. Réponses: 1
    Dernier message: 22/10/2007, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo