要在C#中删除包含只读文件的目录,您可以使用以下方法:
以下是一个示例代码:
using System;
using System.IO;
public class DeleteReadOnlyDirectory
{
public static void Main()
{
string path = @"C:\example\readonly";
try
{
DeleteReadOnly(path);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
public static void DeleteReadOnly(string path)
{
foreach (string directory in Directory.GetDirectories(path))
{
DeleteReadOnly(directory);
}
foreach (string file in Directory.GetFiles(path))
{
File.SetAttributes(file, FileAttributes.Normal);
File.Delete(file);
}
Directory.Delete(path, true);
}
}
这段代码将遍历目录中的所有文件和子目录,将只读属性设置为false,然后删除文件或子目录。最后,它将删除目录本身。请注意,这段代码需要管理员权限才能运行。
领取专属 10元无门槛券
手把手带您无忧上云