繁体   English   中英

使用 C# 比较两个文件夹中的文件

[英]Comparing files in two Folders using C#

我想找出一个文件夹中的哪些文件不在另一个文件夹中。

在一个文件夹中是 .HTML 文件,其名称如下:

TC_234.html
TC_533.html
TC_761.html
TC_584.html 

在另一个文件夹中是 .EXP 文件:

TC_312.exp
TC_234.exp 
TC_341.exp
TC_761.exp

预期成绩:

第一个文件夹:TC_533、TC_584
第二个文件夹:TC_312、TC_341

public IEnumerable<IEnumerable<string>> CompareFolders(string FolderPathOne, string FolderPathTwo)
{
    var folderOne = Directory.EnumerateFiles(FolderPathOne).Select(f => Path.GetFileNameWithoutExtension(f));
    var folderTwo =  Directory.EnumerateFiles(FolderPathTwo).Select(f => Path.GetFileNameWithoutExtension(f));

    yield return folderOne.Except(folderTwo);
    yield return folderTwo.Except(folderOne);
}

像这样使用它:

var results = CompareFolders("Some/Path/One", "Some/Path/Two");
foreach(var folder in results)
{
    Console.WriteLine(string.Join(",", folder));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM