首页 > 解决方案 > 将文件删除到文件夹c#

问题描述

我有一个问题非常好奇。

我将文件删除到文件夹中,这是算法

            System.IO.DirectoryInfo di = new DirectoryInfo(folderPath);

            foreach (FileInfo file in di.GetFiles())
            {
                file.Delete();
            }
            foreach (DirectoryInfo dir in di.GetDirectories())
            {
                dir.Delete(true);
            }

我选择目录,算法删除:文件夹、子文件夹和所有相关的东西都没有问题。

当我下载一个包含文件夹和子文件夹的压缩文件时会出现问题(重要的是要提到,压缩文件中的数据是我实际应该删除的)。

软件报错:拒绝访问

事实是我不明白,该压缩文件(.zip)的文件,特别是该压缩文件的某些文件夹是不允许我删除的。

允许删除的算法中是否缺少某些内容?

标签: c#vb.netvisual-studiovisual-studio-2010

解决方案


首先,要递归删除包含所有文件和子文件夹的文件夹,您只需调用Directory.Delete(folderPath, true). 如文档UnauthorizedAccessException中所述,如果文件或文件夹受到保护,您可以拥有。您可以做的一种解决方案是要求您的应用程序以管理员权限启动,如答案https://stackoverflow.com/a/2818776/10115818中所述


推荐阅读