【问题标题】:deleting a file generates Exception "could not find a part of the path"删除文件生成异常“找不到路径的一部分”
【发布时间】: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)
    {
    }
}

【问题讨论】:

标签: c# .net file delete-file


【解决方案1】:

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

所以在你的事业中它会是

   Directory.Delete(@"\\?\" + archiveFolder, true);

【讨论】:

    【解决方案2】:

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

    它们都位于System.IO,更改应该是微不足道的。

    【讨论】:

    • 我想删除一个目录及其所有文件,它的文件/目录的路径很长
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 2018-07-03
    • 2013-01-13
    • 1970-01-01
    • 2017-09-30
    相关资源
    最近更新 更多