编程问题:如何完全删除一个非空文件夹
在VisualStudio.Net中,VB.Net,C#均可请“似水年华”同志说明一下如何遍历文件夹中所有文件...
在Visual Studio .Net中,VB.Net,C#均可
请“似水年华”同志说明一下如何遍历文件夹中所有文件 展开
请“似水年华”同志说明一下如何遍历文件夹中所有文件 展开
展开全部
System.IO.Directory.Delete(@"C:\TEST",true )
无论是否为空都回删除,但是如果里面有只读文件的话,会有错误提示
如果只读文件也要删除的话,要首先改变文件的属性,然后使用上述命令删除。
下面的代码就是改变文件属性的。
public static void RemoveReadonlyAttribute(DirectoryInfo dirInfo)
{
//文件夹属性更改
if ((dirInfo.Attributes & FileAttributes.ReadOnly) ==
FileAttributes.ReadOnly)
dirInfo.Attributes = FileAttributes.Normal;
//文件夹内全部的文件的属性更改
foreach (FileInfo fi in dirInfo.GetFiles())
if ((fi.Attributes & FileAttributes.ReadOnly) ==
FileAttributes.ReadOnly)
fi.Attributes = FileAttributes.Normal;
//再归更改文件属性
foreach (DirectoryInfo di in dirInfo.GetDirectories())
RemoveReadonlyAttribute(di);
}
无论是否为空都回删除,但是如果里面有只读文件的话,会有错误提示
如果只读文件也要删除的话,要首先改变文件的属性,然后使用上述命令删除。
下面的代码就是改变文件属性的。
public static void RemoveReadonlyAttribute(DirectoryInfo dirInfo)
{
//文件夹属性更改
if ((dirInfo.Attributes & FileAttributes.ReadOnly) ==
FileAttributes.ReadOnly)
dirInfo.Attributes = FileAttributes.Normal;
//文件夹内全部的文件的属性更改
foreach (FileInfo fi in dirInfo.GetFiles())
if ((fi.Attributes & FileAttributes.ReadOnly) ==
FileAttributes.ReadOnly)
fi.Attributes = FileAttributes.Normal;
//再归更改文件属性
foreach (DirectoryInfo di in dirInfo.GetDirectories())
RemoveReadonlyAttribute(di);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询