亦是美网络

致力于操作系统应用与计算机网络技术的IT网站。

站内搜索


推荐文章

使用C# winform编程实现比对两个文件夹中重复的文件

最近在整理文件夹时发现,在不同的文件夹里总是有重复的文件,开始手动一个个对比进行删除,但是后来发现要比对的文件数量太大了,如果一一手动对比将是一个很大的工作量,不仅浪费时间精力,效率还不高,于是就用C# winform写了一个比对两个文件夹中重复的文件的小工具,然后实现批量操作,这在很大程度上节省了人工精力,下面将编程实现原理给大家分享一下,希望对正在学习C#编程的同学有所帮助。

先给大家上个效果图看看效果,

下面就图上内容说说代码实现原理,

首先,我们要对比两个文件夹中的内容,就需要知道两个文件夹的路径,可以使用代码:

//浏览目标文件夹

FolderBrowserDialog dialog = new FolderBrowserDialog();

if (dialog.ShowDialog() == DialogResult.OK)

{

//将目标文件夹路径赋给textBox

textBox1.Text = dialog.SelectedPath;

}

获取两个文件夹的路径后,就需要进行文件对比了,代码如下:

string path1 = textBox1.Text;

string path2 = textBox2.Text;

//判断目标路径是否为空

if (!string.IsNullOrEmpty(path1) && !string.IsNullOrEmpty(path2))

{

//将目标文件夹中所有文件放入数组

string[] filenames1 = Directory.GetFiles(path1);

string[] filenames2 = Directory.GetFiles(path2);

int i = 0;

richTextBox1.Clear();

//遍历文件夹1中所有文件

foreach (string filename1 in filenames1)

{

   //遍历文件夹2中所有文件

   foreach (string filename2 in filenames2)

   {

    //获取带扩展的文件名

    string name1 = Path.GetFileName(filename1);

    string name2 = Path.GetFileName(filename2);

     //判断文件名是否相同

     if (name1 == name2)

      {

       //如果是重复文件则写入richTextBox

       richTextBox1.Text += (name1 + "\r\n");

       i++;

       }

    }

}

label3.Text= "发现同名文件共计:"+i.ToString()+"个";

找到了重复文件后,接下来就是将它们删除了,

if (comboBox1.Text == "删除文件夹1中的同名文件")

{

  int i = 0;

  //遍历richTextBox中重复的文件

  foreach (string s in richTextBox1.Lines)

   {

      //执行删除   

      if (File.Exists(textBox1.Text + @"\" + s))

       {

         File.Delete(textBox1.Text + @"\" + s);

         i++;

        }

    }

MessageBox.Show("共计删除了"+i.ToString()+"个同名文件","提示");

}

else if (comboBox1.Text== "删除文件夹2中的同名文件")

{

 int i = 0;

 foreach (string s in richTextBox1.Lines)

  {

    if (File.Exists(textBox2.Text + @"\" + s))

     {

        File.Delete(textBox2.Text + @"\" + s);

        i++;

      }

   }

MessageBox.Show("共计删除了" + i.ToString() + "个同名文件", "提示");

}

OK,到这里C#实现两个文件夹中的文件比对代码就介绍完了,有兴趣的小伙伴可以自己动手体验一把哦!

上一篇:web前端开发是什么鬼?零基础女生如何快速学习web前端开发
下一篇:国外大咖三十年软件开发经验总结出的十大程序编写技巧

亦是美网络,成立于2012年12月5日,是一个致力于操作系统应用与计算机网络技术的综合IT网站,为大家不断提供和推荐有用的网络教程与技术。

本站文章归 亦是美网络 www.yishimei.cn版权所有 豫ICP备12013471号-4 网站地图