OVH Cloud OVH Cloud

Taille repertoire

2 réponses
Avatar
Newbies
Bonjour =E0 vous,

Je suis vraiment novice et je m'excuse si vous allez=20
trouver cette question bete, mais comment faire pour voir=20
la taille de mon r=E9pertoire C:\TOTO avec ce script de=20
Microsoft ?

Merci, d'avance

----------------------------------------------

Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso =3D CreateObject("Scripting.FileSystemObject")
Set f =3D fso.GetFolder(filespec)
Wscript.Echo "Date last modified: " & fso.GetFolder
s =3D UCase(f.Name) & " utilise " & f.size & " octets."
ShowFolderSize =3D s
End Function

2 réponses

Avatar
Zoury
Salut! :O)

Dis moi si tu travailles en VB script, si oui, lit ce qui suit, sinon, lit
ce qui suit, mais la technique que tu utilises n'est pas une bonne idée,
nous te fournirons d'autre morceau accomplissant le même travail mais
beaucoup plus rapidement et plus fiablement. ;O)



ShowFolderSize est une fonction. Une fonction peut recevoir des paramètres
et renvoi toujours une valeur. Dans ce cas, la fonction reçoit le nom du
répertoire en paramètre et te renvoi sa dimension dans une chaine formatée.
Elle semble aussi envoyé un message (je ne sais pas ce que fait la fonction
WScript.Echo())

Voici un exemple d'utilisation, note que j'ai placé la ligne contenant le
WScript.Echo en commentaire car la variable n'étant pas déclarée entraine
une erreur de compilation dû au Option Explicit, qui force la déclaration de
toutes variables dans le code.
'***
Option Explicit

Private Sub Form_Load()
Debug.Print ShowFolderSize("E:Mp3Divers")
End Sub

Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(filespec)
'Wscript.Echo "Date last modified: " & fso.GetFolder
s = UCase(f.Name) & " utilise " & f.size & " octets."
ShowFolderSize = s
End Function
'***

Maintenant, il serait préférable d'implémenter cette fonction de cette
manière afin d'éliminer les déclarations de variable inutile, de tester
l'existence du répertoire, et de lui donné un style plus fonctionnel étant
donné qu'elle ne retourne que le nombre octets que prend le répertoire. Tu
peux, ensuite, si tu le désires, inclure la donnée dans une chaine.
'***
Option Explicit

Private Sub Form_Load()
Debug.Print GetFolderSize("E:Mp3Divers")
End Sub

Function GetFolderSize(filespec)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(filespec) Then
GetFolderSize = fso.GetFolder(filespec).Size
Else
GetFolderSize = 0
End If
End Function
'***

Pour plus d'infos sur le Option Explicit :
http://groups.google.com/groups?threadm=u3FYGXsfDHA.3076%40tk2msftngp13.phx.gbl

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
François Picalausa
Bonjour/soir,

FSO est déconseillé pour diverses raisons sous vb:
http://faq.vb.free.fr/index.php?question6

Mais il y a deux exemples foncionnels, l'un utilisant les fonctions de VB et
l'autre les APIs, sur la kb:
http://support.microsoft.com/default.aspx?kbid5476

Maintenant, si tu désires utiliser du vbscript, FSO est la méthode adéquate.
Pour l'utiliser, sur copie le code dans un bloc-notes, et tu appels la
procédure en lui passant le nom du dossier, à savoir
MsgBox ShowFolderSize("c:Toto")

Enregistre le fichier avec une extension vbs (renomme le fichier si
nécessaire) et exécute le par double click.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Newbies" a écrit dans le message de
news:1013901c38348$e0b81430$
Bonjour à vous,

Je suis vraiment novice et je m'excuse si vous allez
trouver cette question bete, mais comment faire pour voir
la taille de mon répertoire C:TOTO avec ce script de
Microsoft ?

Merci, d'avance

----------------------------------------------

Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(filespec)
Wscript.Echo "Date last modified: " & fso.GetFolder
s = UCase(f.Name) & " utilise " & f.size & " octets."
ShowFolderSize = s
End Function