[VBS] Récupérer et utiliser un sous dossier numéroté

Résolu/Fermé
Cristalinz Messages postés 2 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 6 juin 2014 - Modifié par Cristalinz le 5/06/2014 à 16:12
Cristalinz Messages postés 2 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 6 juin 2014 - 6 juin 2014 à 11:11
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 :


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 :


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

1 réponse

Cristalinz Messages postés 2 Date d'inscription jeudi 5 juin 2014 Statut Membre Dernière intervention 6 juin 2014
6 juin 2014 à 11:11
Voici la boucle corrective, je remercie un collègue de m'avoir aidé.





'#######################################################################################
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
'#######################################################################################
0