Sélection spéciale sur dossier

French support forum

Moderators: Stefan2, white, nsp

Post Reply
erigaut
Junior Member
Junior Member
Posts: 3
Joined: 2008-12-09, 04:41 UTC
Location: Paris

Sélection spéciale sur dossier

Post by *erigaut »

Bonjour,

Je viens d'acquérir ce fabuleux logiciel qui me fait gagner un temps fou au travail.

Je cherche une fonctionnalité, mais je n'arrive pas à trouver tout seul (je sais même pas si c'est possible à faire ...)

Voilà j'ai une très grosse liste de répertoire avec des fichiers dans chacun ...

Est ce possible de faire une sélection de certain répertoires de cette liste en fonction de la présence (ou de la non présence) d'un fichiers à l'intérieur.

PS: le filtre sur ce fichier devra ce faire à partir de sa nomination ...

merci par avance pour votre aide ...
User avatar
Clo
Moderator
Moderator
Posts: 5731
Joined: 2003-12-02, 19:01 UTC
Location: Bordeaux, France
Contact:

Dégrossir…

Post by *Clo »

2erigaut

:) Bonsoir,
Je viens d'acquérir ce fabuleux logiciel qui me fait gagner un temps fou au travail. …
• Voilà une excellente chose !

• En d'autres termes, vous voulez sélectionner soit tous les répertoires vides, ou a contrario,
tous ceux qui ne le sont pas, si j'ai bien saisi.
- Une première approche simple pour dégrossir le problème :
- Dans la liste active de la branche¦lecteur voulu¦e, lancez la commande interne cm_CountDirContent
en l'établissant pour un bouton de la barre par exemple, puis tri par taille :
- Tous les répertoires vides afficheront <RÉP> et seront groupés (en haut ou en bas selon l'ordre de tri),
vous pouvez alors les sélectionner (clic sur le premier+Maj >> Clic dernier) ou bien l'inverse,
sélectionner les répertoires ayant un contenu de la même façon…

:mrgreen: Cordialement,
Claude
Clo
#31505 Traducteur Français de TC French translator Aide en Français Tutoriels Français English Tutorials
erigaut
Junior Member
Junior Member
Posts: 3
Joined: 2008-12-09, 04:41 UTC
Location: Paris

Post by *erigaut »

Bonjour Clo, et merci pour ta réponse ...

Mais en fait mon problème et un peu plus compliqué :

Aucun des répertoires n'est vides, il contiennent tous un tas de fichier.

Seulement imaginons que dans 60% des répertoires il y a un fichier nommé :
0226683c-8550-4ba4-8e62-daf2b65692604_5_PAYLOAD.xml

Je voudrai sélectionner dans la liste tous les répertoires dans lequel se trouve ce fichier ...

merci
User avatar
franck8244
Power Member
Power Member
Posts: 704
Joined: 2003-03-06, 17:37 UTC
Location: Geneva...

Post by *franck8244 »

Bonjour et bienvenu

Voici une solution en utilisant le module -script.wdx-
avec le script suivant :

Code: Select all

Dim fso
Dim vRecurse, vDistinct, vProperty, vFindFile, vCount
Dim vFolder
Dim vFileCollection, vFile, vFileExt, vFileSize
Dim vSubFolderCollection, vSubFolder
Dim vPath

Set fso = CreateObject("Scripting.FileSystemObject")

vFindFile="0226683c-8550-4ba4-8e62-daf2b65692604_5_PAYLOAD.xml"
'vFindFile = "test.txt"
vCount = 0
vRecurse = 1

vPath = fso.GetAbsolutePathName(Filename)

If fso.FolderExists(Filename) Then
   RecurseDir (vPath)
End If

Set vSubFolderCollection = Nothing
Set vFileCollection = Nothing
Set vFolder = Nothing
Set vFile = Nothing
Set fso = Nothing

content = vCount
'~~~

Function RecurseDir(vFolderName)
 Dim vFName
 Set vFolder = fso.GetFolder(vFolderName)
 Set vFileCollection = vFolder.Files
 For Each vFile In vFileCollection
  vFName = fso.GetFileName(vFile)
  If vFName = vFindFile Then
   vCount = vCount + 1
  End If
 Next
 If vRecurse = 0 Then Exit Function
  Set vSubFolderCollection = vFolder.SubFolders
  For Each vSubFolder In vSubFolderCollection
   vPath = vPath & "\" & vSubFolder.Name
   RecurseDir (vPath)
   vP = InStr(1, StrReverse(vPath), "\")
   If vP > 0 Then vPath = Left(vPath, Len(vPath) - vP)
  Next
End Function
En utilisant ce module dans une colonne utilisateur, les répertoires contenant ce fichier afficheront un nombre différent de 0 dans la colonne
TC#88260 -
erigaut
Junior Member
Junior Member
Posts: 3
Joined: 2008-12-09, 04:41 UTC
Location: Paris

Post by *erigaut »

Merci franck, je vais étudier ta solution dès que j'aurai un petit moment ...
Post Reply