2

我想删除一个目录及其所有文件,它的文件/目录的路径很长。

我要删除的文件路径很长(超过 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)
    {
    }
}
4

2 回答 2

2

\\?\我通过将(长路径说明符)附加到 Directory.Delete 参数来解决在我要删除的目录的目录结构中存在具有长路径的文件的问题。

所以在你的事业中

   Directory.Delete(@"\\?\" + archiveFolder, true);
于 2020-10-28T07:22:51.417 回答
1

Directory.Delete用于删除目录,删除文件使用File.Delete

他们都居住在System.IO,变化应该是微不足道的。

于 2012-11-15T15:34:19.620 回答