Esempio n. 1
0
        private static List <FileSystemInfo> GetFileSystemItems(DirectoryInfo d, Patterns patterns)
        {
            List <FileSystemInfo> listing = new List <FileSystemInfo>();
            var fileRegexStrings          = patterns.File.Split(',');
            var directoryRegexStrings     = patterns.Directory.Split(',');

            foreach (string regex in directoryRegexStrings)
            {
                listing.AddRange(d.GetDirectories(regex, SearchOption.AllDirectories));
            }

            foreach (string regex in fileRegexStrings)
            {
                listing.AddRange(d.GetFiles(regex, SearchOption.AllDirectories));
            }

            return(listing);
        }
Esempio n. 2
0
        public static List <string> GetMatchList(DirectoryInfo d, Patterns patterns)
        {
            var parentDirectory = d.FullName + "\\";

            List <FileSystemInfo> listing = new List <FileSystemInfo>();
            List <string>         mungedFileSystemItems = new List <string>();

            listing = GetFileSystemItems(d, patterns);

            foreach (FileSystemInfo info in listing)
            {
                var shortenedName = info.FullName.Replace(parentDirectory, "");
                mungedFileSystemItems.Add(shortenedName);
            }

            mungedFileSystemItems.Sort();

            return(mungedFileSystemItems);
        }
Esempio n. 3
0
        public static void DeleteSubFolders(DirectoryInfo d, Patterns patterns)
        {
            List <FileSystemInfo> listing = new List <FileSystemInfo>();

            listing = GetFileSystemItems(d, patterns);

            // Check Directories first
            List <DirectoryInfo> directories = GetSpecificInfo <DirectoryInfo>(listing).ToList();

            foreach (DirectoryInfo directoryInfo in directories)
            {
                if (directoryInfo.Exists)
                {
                    SetAttributesToNormal(directoryInfo);

                    DirectoryInfo[] d_svn_subs = directoryInfo.GetDirectories("*", SearchOption.AllDirectories);

                    foreach (DirectoryInfo d_svn_sub in d_svn_subs)
                    {
                        SetAttributesToNormal(d_svn_sub);

                        // delete all the files and the folder found
                        DeleteFolder(d_svn_sub);
                    }

                    DeleteFolder(directoryInfo);
                }
            }

            //Check Files Next
            List <FileInfo> files = GetSpecificInfo <FileInfo>(listing).ToList();

            foreach (FileInfo fileInfo in files)
            {
                if (fileInfo.Exists)
                {
                    SetAttributesToNormal(fileInfo);

                    fileInfo.Delete();
                }
            }
        }