2
var dir1Files = dir1.GetFiles("*", SearchOption.AllDirectories);
var dir2Files = dir2.GetFiles("*", SearchOption.AllDirectories);
var difference = dir1Files.ToHashSet();
difference.SymmetricExceptWith(dir2Files);
string[] foo1 = difference.Select(c => c.Name).ToArray();
File.WriteAllLines(@"d:\log1.txt", foo1);
我在這裏根據名稱,然後在文本文件中寫入比較兩個文件...但我需要用目錄名一起寫的名字是這樣comparing two folders for non identical files? ......比較非完全相同的文件,兩個文件夾與對稱差
有何建議?
編輯: 我有兩個文件夾A和B..inside這兩個文件夾的文件夾地段和文件是否有... 我對非完全相同的文件,這兩個文件夾比較對稱差和寫名字和目錄名成一個文本文件...我的問題是對稱的區別是工作正常,並將兩個不相同的文件名寫入一個日誌文件...但我必須用該目錄名寫入文件名...
此代碼工作正常
var dir1Files = dir1.GetFiles("*", SearchOption.AllDirectories).Select(x => new { x.Name, x.Length });
var dir2Files = dir2.GetFiles("*", SearchOption.AllDirectories).Select(x => new { x.Name, x.Length });
var difference = dir1Files.ToHashSet();
difference.SymmetricExceptWith(dir2Files);
string[] foo1 = difference.Select(c => c.Name).ToArray();
File.WriteAllLines(@"d:\log1.txt", foo1);
在這裏我不能放棄這樣的
string[] foo1 = difference.Select(c => c.Name+""+c.DirectoryName).ToArray();
@Ani:沒有,如果我給這樣的VAR dir1Files = dir1.GetFiles( 「*」,SearchOption.AllDirectories ).Select(x => new {x.Name}); – bala3569 2010-12-08 14:19:33
@Ani:它是比較並給出不相同的文件。其他它是給整個搜索結果 – bala3569 2010-12-08 14:20:41