在日常的工作中,我们经常会遇到给定的文件夹下文件种类繁多杂乱,
比如有那么四五百个,十几种文件类型
当然可以在文件夹下搜索后缀名,将文件复制出来分类,
但还是比较麻烦……
来看看
用程序通过后缀名实现文件夹下文件的分类 (所选文件夹若包含子文件夹,则不对子文件夹处理)
winform界面
1、选择文件夹
FolderBrowserDialog browserDialog = new FolderBrowserDialog();
if (browserDialog.ShowDialog() == DialogResult.OK)
{
string strpath = browserDialog.SelectedPath;//记录选择的文件夹
if (strpath.EndsWith("\\"))
textBox1.Text = strpath;
else
textBox1.Text = strpath + "\\";
}
2、整理
string strpath = textBox1.Text;
List<string> Extension = new List<string>();//记录文件夹下的后缀名
DirectoryInfo Dinfo = new DirectoryInfo(strpath);
FileInfo[] Finfo = Dinfo.GetFiles();//将文件夹下的文件保存到数组中
foreach (FileInfo fileInfo in Finfo)
{
textBox2.Text += fileInfo.Name + Environment.NewLine;
if (!Extension.Contains(fileInfo.Extension.TrimStart('.')))//如果不包含去掉.的后缀名
Extension.Add(fileInfo.Extension.TrimStart('.'));
}
foreach (var item in Extension)
{
Directory.CreateDirectory(strpath + item);//创建文件夹
}
foreach ( FileInfo file in Finfo)
{
File.Move(file.FullName, strpath + file.Extension.TrimStart('.') + "\\" + file.Name);
//拼接字符串将文件移动到分类文件夹
}
MessageBox.Show("整理完成");
3、打开文件夹
System.Diagnostics.Process.Start(textBox1.Text);//打开文件夹进行查看
结果