“Directory is not empty” error when trying to programmatically delete a folder

后端 未结 5 687
忘了有多久
忘了有多久 2020-12-16 09:19

In my app, I have built a system where users can create picture galleries. Photos held in folders in the format of category_name/gallery_name/{pictures} on disk. Each upload

5条回答
  •  清歌不尽
    2020-12-16 10:04

    This works for me, even though i have File Explorer open:

    public static void DeleteFilesAndFoldersRecursively(string target_dir)
    {
        foreach (string file in Directory.GetFiles(target_dir))
        {
            File.Delete(file);
        }
    
        foreach (string subDir in Directory.GetDirectories(target_dir))
        {
            DeleteFilesAndFoldersRecursively(subDir);
        }
    
        Thread.Sleep(1); // This makes the difference between whether it works or not. Sleep(0) is not enough.
        Directory.Delete(target_dir);
    }
    

提交回复
热议问题