移动文件很简单&清楚.NET
什么让我感动如何移动到sub-directory
例如,假设我的源目标中有一个名为Joe_2.mp3的文件,我需要将其移动到目标目录并且最近修改过的sub-folder
(如果存在)。如果它不直接将其移动到目标目录中。我如何首先检查子目录&如果它们存在,找到最近修改过的并将源文件移动到它们?
这是我从directory1
到directory2
的直接移动时所使用的
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);
}
}
答案 0 :(得分:3)
使用Directory.GetDirectories
获取所有子目录的路径,然后使用Directory.GetCreationTime
获取所需的信息。然后,您可以对它们进行排序并获取符合条件的最小值。