比较两个目录C#

时间:2018-12-17 13:10:10

标签: c#

我想比较两个目录。我需要比较其中的文件修改时间。这是我想做的一些伪代码:

FOR each FILE in DIR-A
    if FILE["data-modified"] > DIR-B-Files[Date-modified] THEN
        Do Something
    Else
        Do Nothing
    Endif

1 个答案:

答案 0 :(得分:0)

此方法可能是实现所需目标的一种方法。

检查两个文件夹是否包含相同数量的文件。 循环访问(排序的)文件,并检查名称是否相同以及上次写入时间的时间戳是否相等。

private bool DirectoryModificationTimeEquals(string pathA, string pathB)
{
    var directoryA = new DirectoryInfo(pathA);
    var directoryB = new DirectoryInfo(pathB);
    var filesA = directoryA.GetFiles().OrderBy(x => x.Name).ToList();
    var filesB = directoryB.GetFiles().OrderBy(x => x.Name).ToList();

    if (filesA.Count == filesB.Count)
    {
        for (int i = 0; i < filesA.Count; i++)
        {
            if (!filesA[i].Name.Equals(filesB[i].Name))
            {
                return false;
            }
            if (filesA[i].LastWriteTime != filesB[i].LastWriteTime)
            {
                return false;
            }
        }
        return true;
    }
    return false;
}