Example #1
0
        private void ProcessDirectory(string path, FileProcessorResult result, bool parentIsHidden = false)
        {
            string[] subDirectories = Directory.GetDirectories(path);
            foreach (var subDirectory in subDirectories)
                ProcessSubDirectory(subDirectory, result, parentIsHidden);

            string[] files = Directory.GetFiles(path);
            foreach (var file in files)
                ProcessFile(file, result, parentIsHidden);
        }
Example #2
0
        private void ProcessSubDirectory(string name, FileProcessorResult result, bool parentIsHidden)
        {
            if ((File.GetAttributes(name) & FileAttributes.Hidden) == FileAttributes.Hidden)
            {
                result.HiddenDirectoryCount++;
                parentIsHidden = true;
            }

            result.TotalDirectoryCount++;
            ProcessDirectory(name, result, parentIsHidden);
        }
Example #3
0
        public FileProcessorResult Process(String path)
        {
            FileProcessorResult result = new FileProcessorResult(path);

            DirectoryInfo d = new DirectoryInfo(path);

            if (Directory.Exists(path))
                ProcessDirectory(path, result);

            return result;
        }
Example #4
0
        private void ProcessFile(string name, FileProcessorResult result, bool parentIsHidden)
        {
            if (parentIsHidden)
                result.UnaccessibleFileCount++;

            if ((File.GetAttributes(name) & FileAttributes.Hidden) == FileAttributes.Hidden)
            {
                result.HiddenFileCount++;
                if (!parentIsHidden)
                    result.UnaccessibleFileCount++;
            }

            result.TotalFileCount++;
        }