我的目标是使用删除整个文件夹和文件夹内所有超过一个月的内容。下面是我写的代码:
foreach (String dir in Directory.EnumerateDirectories(args[0]))
{
foreach (String subDir in Directory.EnumerateDirectories(dir))
{
DirectoryInfo dirInfo = new DirectoryInfo(subDir);
if (dirInfo.CreationTime < DateTime.Today.AddMonths(-1))
{
try
{
dirInfo.Delete(true);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
issue: dirInfo.Delete(true)语句在路径长度超过256个字符时抛出异常,并且不删除文件夹。我怎样才能克服呢?谢谢你
您可以尝试先将文件夹移动到较短的目录路径,这样它的路径就不再那么长,然后再删除它。
dirInfo.MoveTo("C:temp");
dirInfo.Delete(true);