
¤ Sur le Forum anglais, l'utilisateur Raymond a rappellé une astuce pour compter et afficher en message le nombre de sous-répertoires dans le répertoire en cours, grâce au petit script “Visual Basic” ci-dessous, adapté en Français :
Code: Select all
Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
For I = 0 to objArgs.Count - 1
If fso.folderExists( objArgs(I) ) then
Set folder = fso.GetFolder( objArgs(I) )
Count = MsgBox("Nombre de s-rép. dans répertoire en cours : " & folder.SubFolders.count, 0, """" & folder & """") 'count folders
'Count = MsgBox("Folders: " & folder.Files.count, 0, """" & folder & """") 'count files
Else
'nothing
End If
Next
'Original by W!ke76(http://www.eforum.de/showthread.php?s=&threadid=1356)
- Ajouter simplement ce fichier au menu "Utilisateur", avec le paramètre "%P", y compris les guillemets !
- On peut aussi installer un bouton dans la barre avec Glisser & Déplacer + MAJ, et ajouter le même paramètre "%P" dans le champ ad-hoc du dialogue de la barre des boutons.
¤ Et le même, mais récursif (avec les sous-sous…répertoires) :
Code: Select all
Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
SubDirCount = 0
For I = 0 to objArgs.Count - 1
If fso.folderExists( objArgs(I) ) then
Set folder = fso.GetFolder(objArgs(I))
LastPart = Mid(folder, InStrRev(folder, "\") + 1)
RecurseFolder folder, fso
Call MsgBox("Le nombre de s.-rép. dans le répertoire sélectionné '" + LastPart + "' est de: " & SubDirCount, 64, folder)
End If
Next
Sub RecurseFolder(sPath, fso)
Dim fFolder, fSubFolders, fSubFolder
Set fFolder = fso.GetFolder(sPath)
Set fSubFolders = fFolder.SubFolders
'Now recurse for each subfolder in the sPath folder...
For Each fSubFolder In fSubFolders
'*** Call self to recurse down folders
Call RecurseFolder(sPath & "\" & fSubFolder.name, fso)
SubDirCount = SubDirCount + 1
Next
End Sub
'Original by W!ke76(http://www.eforum.de/showthread.php?s=&threadid=1356)


- Il faudrait tenir compte d'un petit problème avec le réseau…

Claude
Clo