在我的示例中,我尝试删除特定文件夹下的文件夹。我的文件夹结构如下...... C:\Export\MyDir1\MyDir2\MyDir3\MyDir4\MyDir5
此结构将即时发布。下次运行我的应用程序时,它应该检查C:\Export\MyDir1
目录并删除是否存在。我这样写的
private static string getExportPath(string exportTargetPath, string parentIssue)
{
string exportPath = Path.Combine(exportTargetPath, parentIssue);
if (Directory.Exists(exportPath))
{
string[] files = Directory.GetFiles(exportPath);
string[] dirs = Directory.GetDirectories(exportTargetPath);
File.SetAttributes(exportTargetPath, FileAttributes.Normal);
Directory.Delete(exportTargetPath,false);
}
return exportPath;
}
我查看了这个问题中发布的问题Issue我尝试了这个问题,但无法获得解决方案。根据这个问题的建议答案,当我尝试遍历目录时,它将进入无限循环。我在哪里做错了?有谁可以帮助我?
答案 0 :(得分:6)
执行递归删除:Directory.Delete(exportTargetPath, true);
MSDN明确表示如果出现以下情况,您将收到IOException:
path指定的目录是只读的,或递归为false,而path不是空目录。
答案 1 :(得分:4)
Directory.Delete的第二个参数由于某种原因被命名为“递归”。尝试将其设置为true。