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 :

Récupérer un sous répertoire


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Expert technique poste de travail
    Inscrit en
    Octobre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique poste de travail

    Informations forums :
    Inscription : Octobre 2013
    Messages : 27
    Points : 37
    Points
    37
    Par défaut Récupérer un sous répertoire
    Bonjour à tous,

    Je suis en train de créer un script me permettant de créer des packages d'installations à partir d'autres packages d'installation.
    Mais bon, grossièrement cela fonctionne, j'essaie donc d'adapter ce script à "grande envergure", ce que je souhaite, c'est mettre tous les modules "A convertir" dans un dossier.

    Bref j'y reviendrai plus en détail si j'ai besoin d'aide mais pour l'instant cela fonctionne, je rencontre néanmoins un problème.
    Dans un dossier "Module", je dispose de plusieurs dossier archivant les versions.

    Par exemple, voici l'arborescence :

    Nom : VBSCRIPT.jpg
Affichages : 95
Taille : 216,7 Ko

    1] Je souhaiterai effectuer mes actions seulement dans le dossier 6 du module 1 et le dossier 6 du module 2.
    2] Je parcours donc tous les sous dossier du dossier "PourConvertir" (Parcours des modules)
    3] Je parcours tous les sous dossier des sous dossier des modules (Parcours des versions)
    4] Je compare tous les dossier du "Parcours des version" pour le stocker dans Tamp, une fois cela fini, je fais l'action pour ce module, puis je change de module et je recherche encore la version lap lus grande pour faire une action.
    Cependant, rien ne se stock correctement dans TAMP... Et à l'étape 4, ma boucle ne s'arrêtera pas et prendra donc au final le dossier le plus grand (6) et non le dossier le plus grand PAR modules.

    J'espère m'être fais comprendre

    Merci pour votre aide

    Voici donc ma boucle :

    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
     
    Option Explicit 
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim ofso, oF1, oF2, oF3, pathCorp, pathParent, nomDossierCref, versionCommerciale, AppliData, firstLine, line, pathNewCref, pathNewMod, fichierConf, fichierConfDes, tamp
    Set ofso = CreateObject("Scripting.FileSystemObject") 
    tamp = 0
    pathParent = ofso.GetParentFolderName(wscript.ScriptFullName)
    If ofso.FolderExists(pathParent & "\PourConvertir") Then
    	For each oF1 in oFSO.getFolder(pathParent & "\PourConvertir").SubFolders 
    		'msgbox tamp
    		For each oF2 in oFSO.getFolder(pathParent & "\PourConvertir\" & oF1.name).SubFolders
    			'For each oF3 in oFSO.getFolder(pathParent & "\PourConvertir\" & oF1.Name & oF2.name).SubFolders
    				msgBox oF2.Name & " Appartenant à " & oF1.name
    				msgBox CInt(oF2.Name)
    				If (CInt(oF2.Name) > tamp) Then
    						'tamp = oF2.Name
    						'msgBox oF2.Name
    						msgBox "Tamp = " & tamp
    				End If
    			'Next
    		Next
    	Next
    Else
    	msgbox "Il n'existe pas"
    End If

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Expert technique poste de travail
    Inscrit en
    Octobre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique poste de travail

    Informations forums :
    Inscription : Octobre 2013
    Messages : 27
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    J'apporte le correctif de ce code si jamais il peut servir à quelqu'un. Je remercie un collègue de m'avoir aidé, veuillez trouver ci joint la boucle corrigée.

    A noter qu'on sort donc de la dernière boucle

    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
    '#######################################################################################
    If ofso.FolderExists(pathParent & "\PourConversion") Then
    	For each oF1 in oFSO.getFolder(pathParent & "\PourConversion").SubFolders 
    		tamp = 0
    		For each oF2 in oFSO.getFolder(pathParent & "\PourConversion\" & oF1.name).SubFolders
    			If (CInt(oF2.Name) > tamp) Then
    			tamp = CInt(oF2.Name)
    			End If
    		Next
    		pathCorp = pathParent & "\PourConversion\" & oF1.name & "\" & tamp
    		msgbox pathCorp
    		CreerModule(pathCorp)
    	Next
    Else
    	msgbox "Il n'existe pas"
    End If
    '#######################################################################################

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer un sous-répertoire
    Par infodes dans le forum VB.NET
    Réponses: 23
    Dernier message: 31/10/2014, 17h03
  2. Récupérer des fichiers dans des repertoires et sous répertoires
    Par philcphilc dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 05/09/2013, 19h37
  3. [XL-2003] Récupérer répertoire et sous répertoire sans les fichiers
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/05/2013, 19h13
  4. Réponses: 7
    Dernier message: 10/12/2007, 11h27
  5. Comment récupérer les sous répertoires d'un répertoire
    Par charliejo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/02/2006, 08h47

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