Forum

Aynı isimli dosyala...
 
Bildirimler
Hepsini Temizle

Aynı isimli dosyaların bulunduğu iki farklı klasörü karşılaştırma C#

4 Yazılar
2 Üyeler
0 Likes
1,680 Görüntüleme
(@VolkanSonmezler)
Gönderiler: 2
New Member
Konu başlatıcı
 

Elimde iki tane proje klasörü var birisi güncellenmiş hali olarak düşünün, bu iki klasör arasındaki aynı isimleri dosyaları bulup bulduğu dosyayı satır satır karşılaştıran kodu yazmak istiyorum.

 

Önce dosyaları karşılaştıran kodu hallettim.

    class Program
    {
 

        static void Main(string[] args)
        {

       
            string pathA = @"C:\Users\Deneme1";
            string pathB = @"C:\Users\Deneme2";

            System.IO.DirectoryInfo dir1 = new System.IO.DirectoryInfo(pathA);
            System.IO.DirectoryInfo dir2 = new System.IO.DirectoryInfo(pathB);

       
            IEnumerable<System.IO.FileInfo> list1 = dir1.GetFiles("*.*", System.IO.SearchOption.AllDirectories);
            IEnumerable<System.IO.FileInfo> list2 = dir2.GetFiles("*.*", System.IO.SearchOption.AllDirectories);

    
            FileCompare myFileCompare = new FileCompare();

  
            bool areIdentical = list1.SequenceEqual(list2, myFileCompare);

            if (areIdentical == true)
            {
                Console.WriteLine("Aynı Dosyalar:");
            }
            else
            {
            
            }

            var queryCommonFiles = list1.Intersect(list2, myFileCompare);

            if (queryCommonFiles.Count() > 0)
            {
                Console.WriteLine("Aynı Dosyalar:");
                foreach (var v in queryCommonFiles)
                {
                    Console.WriteLine(v.FullName);
                }
            }
            else
            {
           
            }

          
            Console.WriteLine("Cikis icin tiklayiniz");
            Console.ReadKey();
        }
    }

 
    class FileCompare : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo>
    {
        public FileCompare() { }

        public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2)
        {
            return (f1.Name == f2.Name);
        }

        public int GetHashCode(System.IO.FileInfo fi)
        {
            string s = String.Format("{0}", fi.Name);
            return s.GetHashCode();
        }
    }

        }

Sonra iki dosya arasındaki farkı bulup rapor dosyası oluşturdum

namespace ConsoleApplication47
{
    class Program
    {

        static void Main(string[] args)
        {
            string[] lines1 = File.ReadAllLines(@"C:\Users\test1.txt");
            string[] lines2 = File.ReadAllLines(@"C:\Users\test2.txt");
           
           
            string FileName;

            FileName = Path.GetFileName(@"C:\Users\test1.txt");

            string FileName2;

            FileName2 = Path.GetFileName(@"C:\Users\test2.txt");
           

          
            StringBuilder sb = new StringBuilder();
            int count = lines1.Length;

            {
                int j = 1;
                string lin = String.Format("{0} , {1} , {2} ", "Ln", FileName, FileName2); sb.AppendLine(lin);
                File.WriteAllText(@"C:\Users\StjVolkanSon\Desktop\Rapor.txt", sb.ToString());
                for (int i = 0; i < count; i++)
                {
                    if (lines1[i] == lines2[i])
                    {

 

                

                    }
                    else
                    {
                        string line = String.Format("{0} , {1} , {2} ", (j), lines1[i], lines2[i]); sb.AppendLine(line);

                        File.WriteAllText(@"C:\Users\Rapor.txt", sb.ToString());
                       
                    }
                    j++;
                }
            }
        }
    }
}

 

Ama bunları bütün olarak yapamadım yardımcı olurmusunuz?

 

 
Gönderildi : 14/12/2015 15:41

(@eravse)
Gönderiler: 1753
Üye
 
calısır bır sekılde alma sansımız varmı codları ? 

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 16/12/2015 01:10

(@VolkanSonmezler)
Gönderiler: 2
New Member
Konu başlatıcı
 

anlayamadım çalıştırsam buraya konu açmam zaten 🙂

 
Gönderildi : 16/12/2015 11:46

(@eravse)
Gönderiler: 1753
Üye
 

çalışır şekilde alma kastım debug edilir halde projeyı yada kodu paylaşmanızdan bahsetmiştim.

saygılar

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

 
Gönderildi : 26/12/2015 21:24

Paylaş: