当前位置:  开发笔记 > 编程语言 > 正文

如何删除只读文件?

如何解决《如何删除只读文件?》经验,为你挑选了3个好方法。

我有一个垃圾目录,我可以在其中下载,一次性项目,电子邮件草稿以及其他可能有用几天但不需要永久保存的东西.为了阻止这个目录接管我的机器,我写了一个程序,它将删除超过指定天数的所有文件,并记录一些关于删除的文件数量及其大小的统计信息,只是为了好玩.

我注意到一些项目文件夹的生存时间比他们应该的长,所以我开始调查.特别是,似乎我使用SVN的项目的文件夹都在附近.事实证明,.svn目录中的只读文件不会被删除.我只是对一个只读文件进行了一个简单的测试,发现System.IO.File.Delete并且System.IO.FileInfo.Delete不会删除只读文件.

我不关心保护这个特定目录中的文件; 如果有重要的东西在那里,它就在错误的地方.是否有可以删除只读文件的.NET类,或者我是否必须检查只读属性并删除它们?



1> Gulzar Nazim..:

根据File.Delete的文档,您必须删除只读属性.您可以使用File.SetAttributes()设置文件的属性.

using System.IO;

File.SetAttributes(filePath, FileAttributes.Normal);
File.Delete(filePath);


没关系.蒂姆值得拥有它.认为一些代码会有所帮助.

2> Tim Stewart..:

根据File.Delete的文档,您必须删除只读属性.您可以使用File.SetAttributes()设置文件的属性.


这不是第一次.

3> Neil..:

如果您碰巧使用FileInfo对象,则等效于:

file.IsReadOnly = false;
file.Delete();

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有