将文件移动到子目录

时间:2015-04-01 15:14:13

标签: c# .net

移动文件很简单&清楚.NET什么让我感动如何移动到sub-directory例如,假设我的源目标中有一个名为Joe_2.mp3的文件,我需要将其移动到目标目录并且最近修改过的sub-folder(如果存在)。如果它不直接将其移动到目标目录中。我如何首先检查子目录&如果它们存在,找到最近修改过的并将源文件移动到它们?

这是我从directory1directory2的直接移动时所使用的

private string source = @"C:\\First\\";
private string unclear = @"C:\\Second\\";
public Form1()
{
  InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
  DirectoryInfo FirstCheck = new DirectoryInfo(@"C:\\First\\");
  DirectoryInfo SecondCheck = new DirectoryInfo(@"C:\\Second\\");
  IEnumerable<string> list1 = FirstCheck.GetFiles("*.*").Select(fi => fi.Name);
  IEnumerable<string> list2 = SecondCheck.EnumerateFiles("*", SearchOption.AllDirectories).Select(fi => fi.Name);
  IEnumerable<string> missing = list1.Except(list2);
  foreach (var file in missing)
  {
    var subdi = new DirectoryInfo(SecondCheck.ToString());
    var direcetories = subdi.EnumerateDirectories().OrderBy(d => d.CreationTime).Select(d => d.Name).ToList();
    File.Move(source, unclear);
  }
}

1 个答案:

答案 0 :(得分:3)

使用Directory.GetDirectories获取所有子目录的路径,然后使用Directory.GetCreationTime获取所需的信息。然后,您可以对它们进行排序并获取符合条件的最小值。