Inheritance: DirectoryXArgs
Exemplo n.º 1
0
        public static void Delete(DirectoryInfo diTarget, string fileFilter, string directoryFilter, bool force)
        {
            DirectoryXDeleteArgs args = new DirectoryXDeleteArgs();

            args.Target = diTarget;
            args.Force  = force;
            if (fileFilter != null && fileFilter != string.Empty)
            {
                args.FileFilters.Add(fileFilter);
            }
            args.DirectoryFilters.Add((directoryFilter != null && directoryFilter != string.Empty) ? directoryFilter : "*");

            Delete(args);
        }
Exemplo n.º 2
0
        public static void Delete(DirectoryXDeleteArgs args)
        {
            List <DirectoryInfo> diList = new List <DirectoryInfo>();
            List <FileInfo>      fiList = new List <FileInfo>();

            try
            {
                if (args.DirectoryFilters.Count == 0)
                {
                    args.DirectoryFilters.Add("*");
                }
                ///// Add Target Directory to List /////
                diList.Add(args.Target);
                ///// First Section: Get Folder/File Listing /////
                Load(args, diList, fiList);

                ///// Second Section: Delete Files /////
                if (fiList.Count > 0)
                {
                    foreach (FileInfo fi in fiList)
                    {
                        if (fi.IsReadOnly && args.Force)
                        {
                            fi.Attributes = fi.Attributes & (~FileAttributes.ReadOnly);
                        }
                        fi.Delete();
                    }
                }
                else
                {
                    diList.Remove(args.Target);
                    foreach (DirectoryInfo di in diList)
                    {
                        if (di.Exists)
                        {
                            di.Delete(true);
                        }
                    }
                }
            }
            catch
            { throw; }
        }
Exemplo n.º 3
0
        public static void Delete(DirectoryXDeleteArgs args)
        {
            List<DirectoryInfo> diList = new List<DirectoryInfo>();
            List<FileInfo> fiList = new List<FileInfo>();
            try
            {
                if (args.DirectoryFilters.Count == 0)
                {
                    args.DirectoryFilters.Add("*");
                }
                ///// Add Target Directory to List /////
                diList.Add(args.Target);
                ///// First Section: Get Folder/File Listing /////
                Load(args, diList, fiList);

                ///// Second Section: Delete Files /////
                if (fiList.Count > 0)
                {
                    foreach (FileInfo fi in fiList)
                    {
                        if (fi.IsReadOnly && args.Force)
                        {
                            fi.Attributes = fi.Attributes & (~FileAttributes.ReadOnly);
                        }
                        fi.Delete();
                    }
                }
                else
                {
                    diList.Remove(args.Target);
                    foreach (DirectoryInfo di in diList)
                    {
                        if (di.Exists)
                        {
                            di.Delete(true);
                        }
                    }
                }
            }
            catch
            { throw; }
        }
Exemplo n.º 4
0
        public static void Delete(DirectoryInfo diTarget, string fileFilter, string directoryFilter, bool force)
        {
            DirectoryXDeleteArgs args = new DirectoryXDeleteArgs();
            args.Target = diTarget;
            args.Force = force;
            if (fileFilter != null && fileFilter != string.Empty)
            {
                args.FileFilters.Add(fileFilter);
            }
            args.DirectoryFilters.Add((directoryFilter != null && directoryFilter != string.Empty) ? directoryFilter : "*");

            Delete(args);
        }