软件编程
位置:首页>> 软件编程>> C#编程>> C#删除只读文件或文件夹(解决File.Delete无法删除文件)

C#删除只读文件或文件夹(解决File.Delete无法删除文件)

作者:mdxy-dxy  发布时间:2022-06-30 15:01:59 

标签:C#删除只读文件

C#删除只读文件的方法:


if (File.GetAttributes(FFName).ToString().IndexOf("ReadOnly") != -1)
File.SetAttributes(FFName, FileAttributes.Normal);
File.Delete(FFName);//不能删除只读文件

C#删除只读文件夹的方法:

只读文件夹删除需要先删除文件夹内的文件,然后在使用删除文件夹才能成功,否则将会报没有权限访问。

下面是遍历删除文件夹代码


/// <summary>
   ///  用来遍历删除目录下的文件以及该文件夹
   /// </summary>
   public void DeleteFileByDirectory(DirectoryInfo info)
   {
     foreach (DirectoryInfo newInfo in info.GetDirectories())
     {
       DeleteFileByDirectory(newInfo);
     }
     foreach (FileInfo newInfo in info.GetFiles())
     {
       newInfo.Attributes = newInfo.Attributes &~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
       newInfo.Delete();
     }
     info.Attributes = info.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden);
     info.Delete();

}

另外说明:

在操作文件夹时候,在没有删除文件夹里面文件时候貌似对文件夹设置FileAttributes是没有效果,只有文件全部删除后才能设置文件夹属性。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com