【发布时间】:2020-10-28 17:40:04
【问题描述】:
我想删除一个目录及其所有文件,它的文件/目录的路径很长。
我要删除的文件路径很长(超过 260 个字符)。
如何删除这个文件,尽管它很长? 我正在使用以下代码:
foreach (string archiveFolder in Archives)
{
try
{
DateTime creationTime = Directory.GetCreationTime(archiveFolder);
DateTime now = DateTime.Now;
DateTime passDate = creationTime.AddDays(numDaysBack);
if (passDate.CompareTo(now) < 0)
{
try
{
Directory.Delete(archiveFolder, true);
}
catch (Exception e)
{
}
//System.Console.WriteLine(creationTime);
}
}
catch (Exception e)
{
}
}
【问题讨论】:
-
托管代码无法处理超过 260 个 AFAIK 的路径... IIRC 唯一的选择是通过 pinvoke 调用本机 Windows API...
-
另外,这是你的真实代码吗?如果是这样,那么您不应该忽略异常。您最好完全删除 try/catch 块。
-
是目标目录名太长还是漏洞路径?您可以编辑您的问题并添加
archiveFolder的示例吗?
标签: c# .net file delete-file