Obtenir la taille d'un dossier [Résolu]

Messages postés
45
Date d'inscription
vendredi 9 avril 2004
Dernière intervention
9 novembre 2009
- - Dernière réponse : cs_coq
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
- 2 déc. 2007 à 16:09
Bonjour à tous,

Je cherche à connaitre la taille d'un dossier. Existe-t-il un objet qui me permettrait de faire ceci facilement?

A terme cela me permettra d'indiquer à mon utilisateur s'il peut copier ce dossier sur le disque en fonction de l'espace disponible (récupérer grâce à un objet de type DriveInfo).

merci d'avance!

Rastamath69, plus on travaille , plus on a des problèmes, donc plus on a de chances d'en résoudre! [8D]
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
3
Merci
Bonjour,
Checher dans la doc, est le meilleur moyen!

publicclass ShowDirSize
{
    publicstatic long DirSize(DirectoryInfo d)
    {   
        long Size = 0;   
        // Add file sizes.
        FileInfo[] fis = d.GetFiles();
        foreach (FileInfo fi in fis)
        {     
            Size += fi.Length;   
        }
        // Add subdirectory sizes.
        DirectoryInfo[] dis = d.GetDirectories();
        foreach (DirectoryInfo di in dis)
        {
            Size += DirSize(di);  
        }
        return(Size); 
    }
    publicstaticvoid Main(string[] args)
    {
        if (args.Length != 1)
        {
            Console.WriteLine("You must provide a directory argument at the command line.");   
        }
        else
        { 
            DirectoryInfo d = new DirectoryInfo(args[0]);
            Console.WriteLine("The size of {0} and its subdirectories is {1} bytes.", d, DirSize(d));
        }
    }
}

http://msdn2.microsoft.com/En-US/library/system.io.directory.aspx

<hr />
-My Blog-

Merci cs_Bidou 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
45
Date d'inscription
vendredi 9 avril 2004
Dernière intervention
9 novembre 2009
0
Merci
Bonjour,

Merci pour ta réponse!
En fait le parcours de dossier et de sous-dossier pour additionner la taille des fichiers, c'est actuellement ce que je fais.

Et je voulais savoir si je ne me compliquais pas la vie pour rien.

Mais effectivement je n'avais pas vu cet exemple sur MSDN, ce qui sous-entend qu'aucun n'objet n'est implémenté dans le framework 2 pour aller plus vite...

Donc, réponse acceptée!!!

Rastamath69, plus on travaille , plus on a des problèmes, donc plus on a de chances d'en résoudre! [8D]
Commenter la réponse de rastamath69
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
0
Merci
Salut,

Et de ce que je sais ce type de méthode utilitaire n'y sera pas intégré.
Il y a avait un post sur un blog MSDN à ce sujet, les principales raisons étant le nombre de décisions à gérer dans ce type de tâches, comme notamment la décision de suivre les liens vers répertoires, compter le poids d'un fichier lié et toute les problématiques liées à ces softlinks, hardlinks, points de jonction etc etc, notamment en terme de gestion des références circulaires.
Bref, il vaut mieux faire sa propre implémentation.

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.