'Programme principal
'_________________
'Déclaration
Dim element
'Affectations
dossier = Wscript.Arguments(0)
Set shell = Wscript.CreateObject("Wscript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
Set liste = fs.CreateTextFile("c:\liste.txt", True)
Set Fichiers = fs.GetFolder(dossier).Files
Set sous_dossiers = fs.GetFolder(dossier).Subfolders
'Ecriture de l'en-tête
liste.WriteLine("Contenu du dossier " & dossier)
liste.WriteLine("(le " & FormatDateTime(now(),vlongDate) & " à " & Time&")")
liste.WriteLine(String(66, "_"))
liste.WriteLine()
'Traitement des sous-dossiers
eltype = "dossier"
For Each element in sous_dossiers
	ligne element,eltype
	nbdoss = nbdoss+1
	tailldoss = tailldoss + Element.Size
Next
'Ligne vide de séparation
liste.WriteLine()
'Traitement des fichiers
eltype = "fichiers"
For Each element in fichiers
	ligne element,eltype
	nbfich = nbfich+1
	taillfich = taillfich + element.size
Next
'Ecriture du bas de la liste et des totaux
liste.WriteLine(String(66, "_"))
liste.WriteLine()
liste.WriteLine("Total:")
If nbdoss<>0 Then liste.WriteLine(" " & nbdoss & "dossier(s) : " & Exprime(tailldoss))
liste.WriteLine(" " & nbfich & " fichier(s) : " & Exprime(taillfich))
liste.Close
'Impression de la liste avec Wordpad
shell.Run "wordpad /p c:\liste.txt" , Hide, 1
fs.getfile("c:\liste.txt").Delete
'Sous-programme d'écriture d'une ligne de détail
'------------------------------------------
Sub ligne(element,eltype)
	if eltype="fichier" Then
		nom=Left(element.Name, Len(element.Name)-4)
		ext=" " & Right(element.Name, 3)
	Else
		nom=element.Name
		ext=""
	End If
taille = exprime(element.Size)
'Tronquer le nom si trop long
	If Len(nom) > 30 Then nom = left(nom, 27) & "..."
'Ecriture des données nom, extension, taille et date/heure dans 4 colonnes distinctes
	liste.Write(" " & nom & Space(30-Len(nom)))
	liste.Write(" " & ext & Space(5-Len(ext)))
	liste.Write(" " & Space(9-Len(taille))) & taille
	liste.Write(" " & element.DateLastModified)
	liste.WriteLine()
End Sub
'Fonction de convertion de la taille en Ko ou Mo
'----------------------------------------------------------------
Function Exprime(taille)
	if taille > 1048576 Then '(supérieur à 1 Mo)
		Exprime = CStr(FormatNumber(taille/1048576,2,,,-1)) & " Mo"
	Else '(Inférieure à 1 Mo)
		Exprime = CStr(FormatNumber(taille/1024,0,,,-1)) & " Ko"
End If
End Function

    Source: geocities.com/p_villeneuve/ftp

               ( geocities.com/p_villeneuve)