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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| 'File-Indexer.vbs pour créer dynamiquement un index de fichiers avec leurs tailles contenus dans un dossier
'Crée le 10/09/2013 © Hackoo 2013"
Option Explicit
Dim Titre : Titre = "Index de fichiers dans un dossier © Hackoo 2013"
Dim Ws : Set Ws = CreateObject("WScript.Shell")
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Dim MyFolder : MyFolder = fso.GetAbsolutePathName(".")
Dim Schemin : Schemin = InputBox("Entrez le chemin Absolu du dossier à lister "&vbCrLf&"Exemple c:\Windows "&vbCrLf &_
"ou bien la Lettre du Lecteur exemple C:\ ou bien D:\",Titre,MyFolder)
If Schemin = "" Then WScript.Quit
If Right(MyFolder,1) <> "\" Then MyFolder = MyFolder & "\"
Dim Fichier: Set Fichier = FSO.CreateTextFile(MyFolder & "index.html",1,True)
Dim strHTML : strHTML="<html><body text=white><style type='text/css'>"&_
"a:link {color: #F19105;}"&_
"a:visited {color: #F19105;}"&_
"a:active {color: #F19105;}"&_
"a:hover {color: #FF9900;background-color: rgb(255, 255, 255);}"&_
"</style>"
strHTML=strHTML & "<center><h3><B><font color=DarkOrange>Liste des fichiers et leurs tailles </font></B></h3></center>" & _
"<center><body bgcolor=#1234568><table border='3' cellpadding='1' style='border-collapse: collapse; font size:11pt' bordercolor='#CCCCCC' width='auto' id='Table1'></center>" & _
"<tr><td><center><strong>Icone</strong></center></td>" &_
"<td><center><strong>Nom du Fichier</strong></center></td><td><center><strong>Taille</strong></center></td></tr>"
Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau
Dim IMG : IMG = "<br><center><img src='"&Chr(104)&Chr(116)&Chr(116)&Chr(112)&Chr(58)&Chr(47)&Chr(47)&Chr(110)&Chr(115)&Chr(109)&_
Chr(48)&Chr(53)&Chr(46)&Chr(99)&Chr(97)&Chr(115)&Chr(105)&_
Chr(109)&Chr(97)&Chr(103)&Chr(101)&Chr(115)&Chr(46)&Chr(99)&Chr(111)&Chr(109)&Chr(47)&Chr(105)&_
Chr(109)&Chr(103)&Chr(47)&Chr(50)&Chr(48)&Chr(49)&Chr(49)&Chr(47)&Chr(48)&Chr(55)&Chr(47)&Chr(50)&_
Chr(51)&Chr(47)&Chr(47)&Chr(49)&Chr(49)&Chr(48)&Chr(55)&_
Chr(50)&Chr(51)&Chr(48)&Chr(55)&Chr(52)&Chr(49)&_
Chr(52)&Chr(48)&Chr(49)&Chr(51)&Chr(49)&Chr(49)&Chr(48)&_
Chr(52)&Chr(56)&Chr(53)&Chr(48)&Chr(54)&Chr(52)&Chr(49)&_
Chr(57)&Chr(46)&Chr(103)&Chr(105)&Chr(102)&"' alt='"&Chr(104)&Chr(97)&_
Chr(99)&Chr(107)&Chr(111)&Chr(111)&Chr(102)&Chr(114)&Chr(64)&_
Chr(121)&Chr(97)&Chr(104)&Chr(111)&Chr(111)&Chr(46)&Chr(102)&Chr(114)&"'</img>"
Fichier.WriteLine "</table>"
Fichier.WriteLine IMG
Fichier.Writeline "</body></HTML>" 'ici on ferme notre tableau par la balise </table>
Fichier.Close
Ws.Run MyFolder & "index.html"
Function ListerDossier(Schemin,Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim Tab,NomFichier,SizeKo,SizeMo,SizeGo,SrcImage
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim Fichiers: Set Fichiers = ObjRep.Files 'Fichiers
Dim f
For Each f In Fichiers
Tab = Split(f.Name,".")
NomFichier = Tab(0) & "." & Tab(1)
SizeKo = Round(FormatNumber(f.Size)/(1024),2) & " Ko" 'Taille en Ko avec 2 chiffres après la Virgule
SizeMo = Round(FormatNumber(f.Size)/(1048576),2) & " Mo"'Taille en Mo avec 2 chiffres après la Virgule
SizeGo = Round(FormatNumber(f.Size)/(1073741824),2) & " Go" 'Taille en Go avec 2 chiffres après la Virgule
SrcImage = "http://upload.wikimedia.org/wikipedia/en/d/d8/VBSccript_file_format_icon.png"
If f.size < 1024 Then
Fichier.WriteLine ("<tr><td><center><img src="&SrcImage&"></img></td><td><center><a target=_Blank href='file://" & f.Path & "'>" & NomFichier & "</td><td><center>" & f.size & " Octet </a></td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
ElseIf f.size < 1048576 Then
Fichier.WriteLine ("<tr><td><center><img src="&SrcImage&"></img></td><td><center><a target=_Blank href='file://" & f.Path & "'>" & NomFichier & "</td><td><center>" & SizeKo & "</a></td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
ElseIf f.size < 1073741824 Then
Fichier.WriteLine ("<tr><td><center><img src="&SrcImage&"></img></td><td><center><a target=_Blank href='file://" & f.Path & "'>" & NomFichier & "</td><td><center>" & SizeMo & "</a></td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
Else
Fichier.WriteLine ("<tr><td><center><img src="&SrcImage&"></img></td><td><center><a target=_Blank href='file://" & f.Path & "'>" & NomFichier & "</td><td><center>" & SizeGo & "</a></td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
End If
ListerDossier f.Path, Fichier
Next
End Function |
Partager