Bonjour à tous !
J'ai une petite requête concernant un VBS un peu spécial.
Voilà, j'ai créé un petit script pour lister les fichiers (et uniquement les fichiers) d'un répertoire et ses sous-répertoires (sur le réseau) puis les sortir dans un fichier Excel.
Seulement le fichier excel que j'obtiens est "brut" et se contente de mettre le chemin complet de chaque fichier trouvé sur une nouvelle ligne...
Autant dire que c'est assez difficile à traiter lorsque le nombre de fichiers est important.
J'aurais aimé pouvoir afficher les informations de manière plus organisées dans le fichier excel comme par exemple sous forme de tableau avec le nom des dossiers dans lequel des fichiers ont été trouvés en guise d'entête de colonne, et les fichiers trouvés dans chaque colonne correspondante.
Pour couronner le tout j'aurais aimé avoir le total des fichiers trouvés pour chaque répertoire et le total général des fichiers trouvés.
J'avoue que ce genre de traitement "fin" dépasse de très loin mes compétences si tant est qu'il soit possible de l'obtenir avec un simple VBS...
Si ce genre d'opération n'est pas faisable via un VBS, je suis preneur de toute idée me permettant d'arriver à obtenir ces infos (même si la présentation est plus "brut").
Après, pour ma culture, savez-vous comment je pourrais ajouter à mon script actuel une ligne me permettant de limiter la recherche à un ou deux types de fichiers spécifiques (comme par exemple uniquement les extensions en .DOC et .PDF) ?
J'espère que quelqu'un saura compléter mon script et m'aider à trouver des réponses.
Merci d'avance amis développeurs !
Voici le code de mon script actuel :
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 Dim oNet Set oNet = CreateObject("Wscript.Network") oNet.MapNetworkDrive "V:", "\\SERVEUR\Partage" Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.DriveExists("V:") = True Then Dim ShellO: Set ShellO = CreateObject("WScript.Shell") Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject") Dim SListe: Dim Schemin Schemin = "V:" SListe = ShellO.SpecialFolders("Desktop") If Right(SListe, 1) <> "\" Then SListe = SListe & "\" Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.xls", 1, True) ListerDossier Schemin, Fichier Fichier.Close Function ListerDossier(Schemin, Fichier) On Error Resume Next Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject") Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders Dim ObjSubRepItem For Each ObjSubRepItem In ObjSubRep ListerDossier ObjSubRepItem.Path, Fichier Next Dim ObjRepFind: Set ObjRepFind = FSO.GetFolder(Schemin) Dim ObjSubFile: Set ObjSubFile = ObjRepFind.Files Dim ObjSubFileItem For Each ObjSubFileItem In ObjSubFile Fichier.WriteLine ObjSubFileItem.Path Next End Function Else WScript.Quit End If Call Etape_Finale() Function Etape_Finale() oNet.RemoveNetworkDrive "V:",true set oXL = WScript.CreateObject("EXCEL.application" ) oXL.Visible = True oXL.workbooks.open (SListe & "Liste.xls") End Function
Partager