我有一个包含子文件夹和只读属性的文件和文件夹的文件夹。我想删除这个文件夹以及其子文件夹和文件。
我编写了以下代码:
static void Main(string[] args)
{
DirectoryInfo mm = new DirectoryInfo(@"c:\ex");
string aa = Convert.ToString(mm);
string[] allFileNames =
System.IO.Directory.GetFiles(aa,
"*.*",
System.IO.SearchOption.AllDirectories);
string[] alldirNames =
System.IO.Directory.GetDirectories(aa,
"*",
System.IO.SearchOption.AllDirectories);
foreach (string filename in allFileNames)
{
FileAttributes attr = File.GetAttributes(filename);
File.SetAttributes(filename, attr & ~FileAttributes.ReadOnly);
}
foreach (string dirname in alldirNames)
{
FileAttributes attr = File.GetAttributes(dirname);
File.SetAttributes(dirname, attr & ~FileAttributes.ReadOnly);
Directory.Delete(dirname , true);
}
FileInfo[] list = mm.GetFiles();
foreach (FileInfo k in list)
{
k.Delete();
}
mm.Delete();
Console.ReadKey();
}
现在的问题是每次运行程序时都会出现以下错误:
这个错误意味着什么?无法找到路径“c:\ex\xx\bb”。
DirectoryInfo
转换成字符串?你可以直接使用DirectoryInfo.GetFiles
。 - Tim SchmelterDirectoryInfo
。还有一件重要的事情是,您是否使用调试器逐行执行代码?如果是,请报告哪一行引发了错误。 - MethodMan