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

rastamath69 45 Messages postés vendredi 9 avril 2004Date d'inscription 9 novembre 2009 Dernière intervention - 26 nov. 2007 à 09:54 - Dernière réponse : cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention
- 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
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 26 nov. 2007 à 12:36
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_Bidou
rastamath69 45 Messages postés vendredi 9 avril 2004Date d'inscription 9 novembre 2009 Dernière intervention - 26 nov. 2007 à 13:36
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
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 2 déc. 2007 à 16:09
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.