하위 폴더를 포함하여 폴더 아래의 모든 내용을 차례로 삭제합니다.

1160 단어
    /// <summary>  
        ///    
        /// </summary>  
        /// <param name="dir"> </param>   
        public void DeleteFolder(string dir)
        {
            if (Directory.Exists(dir)) //    
            {
                foreach (string d in Directory.GetFileSystemEntries(dir))
                {
                    if (File.Exists(d))
                    {
                        FileInfo fi = new FileInfo(d);
                        if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                            fi.Attributes = FileAttributes.Normal;

                        File.Delete(d); //   
                    }
                    else
                        DeleteFolder(d); //    
                }
                Directory.Delete(dir, true); //                    
            }
        }  
        

특히 강조: Directory.Delete 메서드는 빈 폴더만 삭제할 수 있습니다. 그렇지 않으면 오류가 발생합니다.이것은 어떤 폴더를 비우는 문제로 인해 나에게 많은 시간을 괴롭혔다.
또는 Directory를 사용할 수 있습니다.Delete( your folder, true )
참조:
http://www.soaspx.com/dotnet/asp.net/tech/tech_20090924_431.html

좋은 웹페이지 즐겨찾기