使用c#中的DirectoryInfo.Delete(true)方法删除长度超过256个字符的路径
本文关键字:256个 路径 字符 删除 方法 DirectoryInfo 中的 Delete true 使用 | 更新日期: 2023-09-27 18:04:53
我的目标是使用删除整个文件夹和文件夹内所有超过一个月的内容。下面是我写的代码:
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);