Beispiel #1
0
        static long getSizeOfFolder(DirectoryInfo d)
        {
            long totalSize = 0;

            try
            {
                if (!FindLargestFolder.isDirectoryExcluded(d.FullName))
                {
                    //loop through any subdirs
                    if (recurse == true)
                    {
                        foreach (DirectoryInfo subdir in d.GetDirectories())
                        {
                            //recurse and all all subdirs
                            try
                            {
                                totalSize = totalSize + getSizeOfFolder(subdir);
                            }
                            catch (UnauthorizedAccessException)
                            {
                                //ignore it..
                            }
                        }
                    }

                    //add files from current folder
                    FileInfo[] fiArray = d.GetFiles();

                    foreach (FileInfo f in fiArray)
                    {
                        totalSize += f.Length;
                    }
                }
            }

            catch (DirectoryNotFoundException) { };



            return(totalSize);
        }