Feedback

Datein rekursiv löschen

Sprache: C#

[b]Löscht alle Datein eines Pfades rekursiv. Falls der Zugang verwehrt wird, wird das FileAttribute neu gesetzt.[/b]
private static void DeleteFiles(DirectoryInfo info)
        {
            foreach (FileInfo item in info.GetFiles())
            {
                try
                {
                    item.Delete();
                }
                catch (UnauthorizedAccessException)
                {
                    try
                    {
                        File.SetAttributes(item.FullName, FileAttributes.Normal);
                        File.Delete(item.FullName);
                    }
                    catch
                    {
                    }
                }
                catch (Exception)
                { 
                }
            }

            foreach (DirectoryInfo dirs in info.GetDirectories())
            {
                DeleteFiles(dirs);
            }
        }
private static void DeleteFiles(DirectoryInfo info)
        {
            foreach (FileInfo item in info.GetFiles())
            {
                try
                {
                    item.Delete();
                }
                catch (UnauthorizedAccessException)
                {
                    try
                    {
                        File.SetAttributes(item.FullName, FileAttributes.Normal);
                        File.Delete(item.FullName);
                    }
                    catch
                    {
                    }
                }
                catch (Exception)
                { 
                }
            }

            foreach (DirectoryInfo dirs in info.GetDirectories())
            {
                DeleteFiles(dirs);
            }
        }