引用: http://www.jb51.net/article/72181.htm

 

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是没有效果,只有文件全部删除后才能设置文件夹属性。

C#删除只读文件或文件夹(解决File.Delete无法删除文件)的更多相关文章

  1. 解决File.delete()删除不掉文件

    首先注意两点: 此文件被使用的时候无法删除(比如网络输出没关闭流) 判断此文件是否存在再做删除(exists) 删除文件夹之前先删除文件夹下的所有文件(递归解决) 判断是否删除成功会有返回值,文件名错 ...

  2. java File delete 无法删除文件的原因。

    windows下使用java.io.File.delete()方法删除文件时,返回值为true. 但是本地文件仍然存在,也就是说没有删除成功. 这时候你要检查下你传进来的文件目录格式是否正确. 正确: ...

  3. angularJs 多文件动态上传(删除其中一个文件的时候,要么file没被删除,要么删除了之后,点击事件失效)

    <div cacModule.controller('CacScriptEditCtrl', CacScriptEditCtrl); CacScriptEditCtrl.$inject = [' ...

  4. Sharepoint日志文件增长巨大的解决办法/缩小日志/删除日志

    前段时间为公司开发部门建立了TFS平台,其中包括WSS3(MOSS07也可,但是如果不是必须,建议使用轻量级的WSS3).TFS建成之后,程序员们用起来都很满意,总监也很关注. 但是今天早上忽然发现连 ...

  5. spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

    spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ ...

  6. C# 操作文件类,文件夹存在判断,创建,文件内容读写。

    此篇文档是老早就放到草稿箱中了,断断续续编辑了几次.结合自己经常用到的对于文件的操作,结合msdn做此文. 1.File 类 --转自msdn 常用方法: 名称 说明 AppendAllLines(S ...

  7. Android音频处理——通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能

    Android音频处理--通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能 音频这方面很博大精深,我这里肯定讲不了什么高级的东西,最多也只是一些基础类知识,首先,我们要介绍一下 ...

  8. svn新建文件不能提交的解决方法

    svn新建文件不能提交的解决方法 在当前新建文件的目录下,右键空白处: 选择Properties 找到所有有ignore字眼的属性,查看这个属性的继承目录(inherited from),入我的是cl ...

  9. ASP.NET Core 上传文件到共享文件夹

    参考资料:ASP.NET 上传文件到共享文件夹 创建共享文件夹参考资料:https://www.cnblogs.com/dansediao/p/5712657.html 一.配置上传文件相关参数并读取 ...

随机推荐

  1. 当Azure里的虚拟机网卡被禁用

    当Azure里的虚拟机网卡被禁用了之后…… 这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,Azure又该如何处理,对于设置在虚拟机中的禁用网卡选项是否还有存在的意义?通常情况下,点选了 ...

  2. 判断UA这种事不能说的太明。

    [微博] Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; GT-I9502 Build/JDQ39) AppleWebKit/534.30 (KHTML, l ...

  3. NodeJS的url信息截取模块url-extract

    NodeJS的url信息截取模块url-extract2013-09-12 22:49 by Justany_WhiteSnow, 212 阅读, 0 评论, 收藏, 编辑 上一篇文章,介绍了怎么利用 ...

  4. 没有标准化字符串的后果(IOS)

    对于NSString肯定会经常用到,谈谈最近在项目中遇到的一个奇特的现象.如下:我们知道文件系统的命名都是用的字符串,比如你给文件取名“a.pdf”,然后保存文件后,那个文件的名字就真的是 " ...

  5. JavaScript –type

    JavaScript –类型之我晕 每次写博我觉得取上恬当的题目比整篇行文都难,词量有限的情况下突然想到JavaScript拾遗应该会是一个非常文艺而夺目的博文题目,但我并没有急着使用,经验告诉我应该 ...

  6. Page_Load接收随机参数放到字典类中

    Page_Load接收随机参数放到字典类中,可以用作签名.普通的接收url的参数可以用作下面这种模式:  int appid =Convert.ToInt32(param["appid&qu ...

  7. MFC控件(7):Split Button

    VS2008中可以看到MFC有一个叫Split Button的控件,要想看它的效果,瞧下QQ那聊天窗口的"发送", "消息记录"这两个按钮就知道了.实际上就是还 ...

  8. 排序算法用C++的基本算法实现十个数排序

    本文个人在青岛喝咖啡的时候突然想到的...近期就有想写几篇关于排序算法的文章,所以回家到之后就奋笔疾书的写出来发布了 冒泡排序法 道理: 它重复地访问过要排序的数列,一次比较两个元素,如果他们的顺序错 ...

  9. 使用程序控制windows service启动/停止

    1.首先加入引用: using System.ServiceProcess; 2.控制启动服务: public void Start() { var timeout = TimeSpan.FromSe ...

  10. 机器学习( Machine Learning)的定义

    关于机器学习有两个相关的定义: 1)给计算机赋予没有固定编程的学习能力的研究领域. 2)一种计算机的程序,能从一些任务(T)和性能的度量(P),经验(E)中进行学习.在学习中,任务T的性能P能够随着P ...