Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction (API) qui donne instantanément la taille d'un dossier

22 réponses
Avatar
Guy FALESSE
Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille d'un
dossier.
D'avance merci.

Guy FALESSE

10 réponses

1 2 3
Avatar
Zoury
Salut Guy ! :O)

Pour obtenir la taille d'un dossier, il faut calculer le total de la taille
des fichiers qu'il contient. Il n'y a ni fonction ni API qui le font
directement...

Regarde cet article pour exemple employant les APIs :

Obtaining the Directory Size, Recursive
http://vbnet.mvps.org/code/fileapi/getdirectorysize.htm

--
Cordialement
Yanick
MVP pour Visual Basic

"Guy FALESSE" a écrit dans le message de
news:
Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille


d'un
dossier.
D'avance merci.

Guy FALESSE






Avatar
Jacques93
Bonjour,
Guy FALESSE a écrit :
Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille d'un
dossier.
D'avance merci.

Guy FALESSE




Je ne penses pas. Si dans l'explorateur tu fais un click droit, puis
propriétés sur un dossier volumineux (C:Program Files ou C:Windows par
exemple), on voit que la taille est calculée et l'affichage évolue au
cours de ce calcul. Il faut, je penses, faire un balayage complet du
dossier et de ses sous-dossiers pour obtenir sa taille.

--
Cordialement,

Jacques.
Avatar
Aski
Bonjour Yanick,

Je n'ai pas approfondi, mais l'API SHGetFileInfo ne permet-elle pas d'y
arriver ?

Cordialement

Aski

En folâtrant sur son clavier, Zoury s'est exprimé ainsi :

|| Salut Guy ! :O)
||
|| Pour obtenir la taille d'un dossier, il faut calculer le total de la
|| taille des fichiers qu'il contient. Il n'y a ni fonction ni API qui
|| le font directement...
||
|| Regarde cet article pour exemple employant les APIs :
||
|| Obtaining the Directory Size, Recursive
|| http://vbnet.mvps.org/code/fileapi/getdirectorysize.htm
||
|| --
|| Cordialement
|| Yanick
|| MVP pour Visual Basic
||
|| "Guy FALESSE" a écrit dans le message de
|| news:
||| Bonjour à tous,
|||
||| Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
||| Existerait-il une fonction (API) qui donnerait instantanément la
||| taille d'un dossier.
||| D'avance merci.
|||
||| Guy FALESSE
Avatar
Guy FALESSE
Salut Yanick,

Merci pour ta réponse, en effet, pas de possibilité directe.
ncore une chose d'acquise :-)
@+

Guy FALESSE


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: u%
Salut Guy ! :O)

Pour obtenir la taille d'un dossier, il faut calculer le total de la
taille
des fichiers qu'il contient. Il n'y a ni fonction ni API qui le font
directement...

Regarde cet article pour exemple employant les APIs :

Obtaining the Directory Size, Recursive
http://vbnet.mvps.org/code/fileapi/getdirectorysize.htm

--
Cordialement
Yanick
MVP pour Visual Basic

"Guy FALESSE" a écrit dans le message de
news:
Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille


d'un
dossier.
D'avance merci.

Guy FALESSE










Avatar
Guy FALESSE
Salut Jacques,

Merci pour ta réponse.
Ben oui, c'est vrai.
@+
Guy FALESSE


"Jacques93" a écrit dans le message de
news:
Bonjour,
Guy FALESSE a écrit :
Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille
d'un dossier.
D'avance merci.

Guy FALESSE




Je ne penses pas. Si dans l'explorateur tu fais un click droit, puis
propriétés sur un dossier volumineux (C:Program Files ou C:Windows par
exemple), on voit que la taille est calculée et l'affichage évolue au
cours de ce calcul. Il faut, je penses, faire un balayage complet du
dossier et de ses sous-dossiers pour obtenir sa taille.

--
Cordialement,

Jacques.


Avatar
Zoury
Salut Aski ! :O)

Je n'ai pas approfondi, mais l'API SHGetFileInfo ne permet-elle pas d'y
arriver ?



Non car la structure SHFILEINFO ne nous donne pas cette information...
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/structures/shfileinfo.asp

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Aski
Salut Yanick

En folâtrant sur son clavier, Zoury s'est exprimé ainsi :

|| Salut Aski ! :O)
||
||| Je n'ai pas approfondi, mais l'API SHGetFileInfo ne permet-elle pas
||| d'y arriver ?
||
|| Non car la structure SHFILEINFO ne nous donne pas cette
|| information...
||
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/structures/shfileinfo.asp
||

Effectivement, ma recherche a abouti à la même conclusion. C'est dommage ...
;-(
Merci.

Cordialement
Aski
Avatar
andre.araste
La taille d'un dossier.
Oui, c'est possible. Il faut utiliser le modèle objet FileSystemObject qui
est une classe nouvelle de Visual Basic 6 - On peut utiliser un tel objet
pour effectuer la plupart des opérations que l'on pouvait faire avec les
mots clés traditionnels du langage. Les méthodes de haut niveau de
FileSystemObject retournent d'autres types d'objets : File, Folder, Drive et
TextStream, chacun d'eux possédant ses propres méthodes et propriétés. Ce
système représente une meilleure solution pour organiser toutes les
possibilités de gestion interactive des fichiers, il se trouve dans la
runtime scrrun.dll et doit être lié à un projet VB6 par une référence
d'objet avant de pouvoir fonctionner.

La syntaxe est complexe et exige une certaine habitude.

La méthode GetFolder renseigne sur un dossier avec une double hiérarchie.
Elle retourne un objet dérivant Dossier de type Folder qui lui-même retourne
un objet Fichiers de type Files

' GetFolder
Set Dossier = fso.GetFolder(Chemin)
Set Fichiers = Dossier.Files
fso.FolderExists(Chemin) ' oui ou non
Dossier.Size ' retourne la dim du dossier

C'est à creuser et ça marche mais on ne peut pas dire que ça donne
instantanément la taille d'un dossier, il y quelques lignes de codes en
perspective !
--
Bonne réception.

http://perso.wanadoo.fr/andre.araste/
Membre du Club Win's: http://www.clubwins.org
Avertissement: Je ne vends rien.



"Guy FALESSE" a écrit dans le message de news:

Bonjour à tous,

Je n'ai trouvé à ce sujet, ce qui ne veut rien dire :-(
Existerait-il une fonction (API) qui donnerait instantanément la taille
d'un dossier.
D'avance merci.

Guy FALESSE



Avatar
Zoury
> Il faut utiliser le modèle objet FileSystemObject qui
est une classe nouvelle de Visual Basic 6 -



Si tu optes pour cette option, je te suggères de lire la mise en garde
concernant le FSO :
http://faq.vb.free.fr/index.php?question6

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
scraper
Bonjour Zoury, dans le message
news:
tu disais :


Il faut utiliser le modèle objet FileSystemObject qui
est une classe nouvelle de Visual Basic 6 -



Si tu optes pour cette option, je te suggères de lire la mise en garde
concernant le FSO :
http://faq.vb.free.fr/index.php?question6



yes ....

il est surprenant (après essais) que la méthode fso donne presque
instantanément le résultat pour un dossier volumineux, avec sous dossiers,
alors que l'API mouline bien plus longtemps ??

au fait, si j'utilise (par exemple, et pour une appli en local) la méthode
fso, y a t il une solution pour que le résultat retourné donne la taille des
fichiers contenus dans le dossier, à l'exception des sous dossiers ?

merci



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
1 2 3