整理文件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace SearchDocs
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void buttonSelect_Click(object sender, EventArgs e)
        {
            if (this.folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                this.txtPath.Text = this.folderBrowserDialog1.SelectedPath;
            }
        }

        private void buttonCollect_Click(object sender, EventArgs e)
        {
            //所有文件名字包括"新建文本文档" 空白文件删除,内容文件更名,更名规则为创建时间_文件第一行的最多50个字符。
            //文件内容大于20行的单独存放小于20行的合并  减少文件数量 归纳到一个记录管理工具中
            string Find = "新建文本文档";
            if (string.IsNullOrEmpty(this.txtPath.Text.Trim()))
            {
                MessageBox.Show("目录不能为空");
                return;
            }
            if (!Directory.Exists(this.txtPath.Text.Trim()))
            {
                MessageBox.Show("目录无效");
                return;
            }
            CopyDir(this.txtPath.Text.Trim(), AppDomain.CurrentDomain.BaseDirectory + "\\文本\\");
            MessageBox.Show("完成");
        }

        public string ReplaceSpecialCharacterV2(string str)
        {
            StringBuilder titleBuilder = new StringBuilder(str);
            foreach (char rInvalidChar in Path.GetInvalidFileNameChars())
                titleBuilder = titleBuilder.Replace(rInvalidChar.ToString(), string.Empty);

            return titleBuilder.ToString();
        }
        private void CopyDir(string srcPath, string aimPath)
        {

            // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
            // 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
            // string[] fileList = Directory.GetFiles(srcPath);
            string[] fileList = System.IO.Directory.GetFileSystemEntries(srcPath);
            // 遍历所有的文件和目录
            foreach (string file in fileList)
            {
                // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
                if (System.IO.Directory.Exists(file))
                {
                    CopyDir(file, aimPath);
                }
                // 否则直接Copy文件
                else
                {
                    string filename = string.Empty;
                    string content = string.Empty;
                    filename = System.IO.Path.GetFileName(file);
                    if (!filename.EndsWith(".csproj.FileListAbsolute.txt") && !filename.EndsWith(".AppTest.txt"))
                    {
                        if (System.IO.Path.GetExtension(file).ToLower() == ".txt")
                        {
                            content = System.IO.File.ReadAllText(file, TxtFileEncoder.GetEncoding(file)).Trim();
                            //c#判断文件是否为空
                            if (content.Length == 0)
                            {
                                //删除空文件
                            }
                            else
                            {
                                if (content.Length > 200)
                                {

                                    if (filename.Contains("新建文本文档"))
                                    {
                                        //c#读取第一行
                                        string firstline = string.Empty;
                                        if (content.Contains("\r"))
                                        {
                                            firstline = ReplaceSpecialCharacterV2(content.Substring(0, content.IndexOf("\r")));
                                        }
                                        else
                                        {
                                            firstline = ReplaceSpecialCharacterV2(content);
                                        }
                                        if (firstline.Length > 50)
                                        {
                                            firstline = firstline.Substring(0, 50);
                                        }

                                        System.IO.File.Copy(file, aimPath + System.IO.File.GetLastWriteTime(file).ToString("yyyy_MM_dd_") + firstline + ".txt", true);
                                    }
                                    else
                                        System.IO.File.Copy(file, aimPath + System.IO.File.GetLastWriteTime(file).ToString("yyyy_MM_dd_") + System.IO.Path.GetFileName(file), true);
                                }
                                else
                                {
                                   
                                    File.AppendAllText(aimPath + "总结.txt", "\r\n--------------------------------------\r\n" + System.IO.Path.GetFileName(file) + "\r\n" + content);
                                
                                }
                            }
                            System.IO.File.Delete(file);
                        }
                    }
                }
            }
        }
    }
}
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值