控制台应用程序检查 7 个文件夹,如果我有超过 7 个文件夹,请删除最旧的文件夹

本文关键字:文件夹 删除 检查 应用程序 如果 控制台 | 更新日期: 2023-09-27 17:56:14

我需要拿出一个控制台应用程序来检查C:'Work'Build中的 7 个SASE Lab Tools文件夹。

这些不同的SASE lab Tools文件夹带有日期戳

示例如下所示:

  1. C:'Work'Build'SASE Lab Tools

  2. C:'Work'Build'SASE Lab Tools.01052011

  3. C:'Work'Build'SASE Lab Tools.02052011

  4. C:'Work'Build'SASE Lab Tools.03052011

  5. C:'Work'Build'SASE Lab Tools.04052011

  6. C:'Work'Build'SASE Lab Tools.05052011

  7. C:'Work'Build'SASE Lab Tools.06052011

其中日期戳格式为 ddMMyyyy

因此,例如,如果我现在有C:'Work'Build'SASE Lab Tools.07052011(第 8 个和最新的一个),我如何确保我可以删除C:'Work'Build'SASE Lab Tools.01052011文件夹?我也需要强制删除此文件夹。因为里面有只读文件。

谢谢!

控制台应用程序检查 7 个文件夹,如果我有超过 7 个文件夹,请删除最旧的文件夹

你能把它们排序Skip 7 然后删除其余的吗?

static string path = @"C:'Work'Build";
public static void Main(string[] args)
{
    var files = Directory.GetFiles(path, "SASE Lab Tools.*");
    // Remove after testing
    foreach(var file in files)
        Console.WriteLine(file);
    Console.WriteLine("");
    foreach(var file in files.OrderByDescending(x=>x).Skip(7))
        Console.WriteLine(file);
    // END Remove after testing
    foreach(var file in files.OrderByDescending(x=>x).Skip(7))
        File.Delete(file);
}