c# - 将文件删除到文件夹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)的文件,特别是该压缩文件的某些文件夹是不允许我删除的。
允许删除的算法中是否缺少某些内容?
解决方案
首先,要递归删除包含所有文件和子文件夹的文件夹,您只需调用Directory.Delete(folderPath, true)
. 如文档UnauthorizedAccessException
中所述,如果文件或文件夹受到保护,您可以拥有。您可以做的一种解决方案是要求您的应用程序以管理员权限启动,如答案https://stackoverflow.com/a/2818776/10115818中所述
推荐阅读
- python - 运行 Python 脚本的 Crontab 错误
- reactjs - 当用户离开当前屏幕时,componentWillUnmount 是自动保存用户输入的好地方吗?
- typescript - 在 Typescript 中,如何检查对象是否已被释放?
- python - 如何在不选择 Gtk.treeview 的情况下突出显示一行?
- c# - 我们可以使用 Selenium/Appium 在网页/移动应用程序上验证文本对齐吗
- java - java.util.NoSuchElementException:找不到行
- npm - 检查 NPM package.json 和 package-lock.json 是否兼容
- c++ - C ++如何删除输入末尾的空行?
- html - 一些href链接不可点击
- postgresql - 无法运行脚本在 docker 中创建多个数据库