使用以下代码正常删除整个文件夹内容时,报错如下:
if (backupPathDir.Exists) { System.IO.DirectoryInfo di = new DirectoryInfo(backupPathDir.ToString()); foreach (FileInfo file in di.GetFiles()) { file.Attributes = FileAttributes.Normal; file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } backupPathDir.Delete(true); }
报错如下:
原因:文件权限问题,文件从别的地方复制到备份文件夹时,权限也复制过来了,再删除备份文件夹,删除失败
解决方法:
复制文件时,设置属性,删除文件时,再次设置属性。
Delete File.SetAttributes(file, FileAttributes.Normal); File.Delete(file); Copy File.Copy(file, dest, true); File.SetAttributes(dest, FileAttributes.Normal);
资料来源:
https://stackoverflow.com/questions/26577038/deleting-file-but-is-access-denied
原文地址:https://www.cnblogs.com/ryanzheng/p/10738192.html
时间: 2024-10-10 06:59:32