按创建日期过滤目录结构,然后使用 c# 复制

Filter Directory structure by Created date and then Copy using c#

我想按创建日期过滤整个目录结构中的文件 属性,然后使用 c# 将保留此新过滤目录结构的文件复制到目标。

我找到了 solution,但它没有过滤。

using System;
using System.IO;

class CopyDir
{
  public static void Copy(string sourceDirectory, string targetDirectory)
  {
    DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
    DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

    CopyAll(diSource, diTarget);
  }

public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
    Directory.CreateDirectory(target.FullName);

    // Copy each file into the new directory.
    foreach (FileInfo fi in source.GetFiles())
    {
        Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
        fi.CopyTo(Path.Combine(target.FullName, fi.Name), true);
    }

    // Copy each subdirectory using recursion.
    foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
    {
        DirectoryInfo nextTargetSubDir =
            target.CreateSubdirectory(diSourceSubDir.Name);
        CopyAll(diSourceSubDir, nextTargetSubDir);
    }
}

public static void Main()
{
    string sourceDirectory = @"c:\sourceDirectory";
    string targetDirectory = @"c:\targetDirectory";

    Copy(sourceDirectory, targetDirectory);
}

// Output will vary based on the contents of the source directory.

}

在您告诉我们您希望在创建日期之前 "filter" 之后,您可以执行以下操作:

//If date is newer than 1 week
if(fi.CreationTime >= DateTime.Now - TimeSpan.FromDays(7))
   fi.CopyTo(Path.Combine(target.FullName, fi.Name), true);