[Tools]根据文件Create日期,自动Copy/Move到yyyy MM文件夹

本文介绍了一个简单的工具,用于将大量文件按创建年月自动归档到相应文件夹中,解决了百度云备份时超过500个文件需要会员的问题。通过C#编程实现,此工具能够读取当前目录下所有文件,并根据文件的创建时间自动创建对应的文件夹进行分类存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日大量图片上传到百度云备份,当同一文件夹数量 > 500 时,需要开通会员。

Qiong.

发挥码农特色,自己写tool.

逻辑很简单,没过多的加异常处理。


using System;
using System.IO;
using System.Linq;

namespace FilesSorting
{
    class Program
    {
        static void Main(string[] args)
        {
            var currentDocPath = Environment.CurrentDirectory;
            Console.WriteLine("Current document is {0}", currentDocPath);

            var docInfo = new DirectoryInfo(currentDocPath);

            var collection = docInfo.GetFiles();

            if (null != collection && collection.Any())
            {
                Console.WriteLine("Pending sorting files total count {0}", collection.Length);

                var sortingDocPath = Path.Combine(currentDocPath, "Sorting");
                Directory.CreateDirectory(sortingDocPath);
                Console.WriteLine("Sorting document is {0}", sortingDocPath);

                var dateList = collection.Select(t => t.CreationTime.ToString("yyyy-MM")).Distinct();

                foreach (var date in dateList)
                {
                    var dataDocument = Path.Combine(sortingDocPath, date);
                    Directory.CreateDirectory(dataDocument);

                    var dataFiles = collection.Where(t => t.CreationTime.ToString("yyyy-MM").Equals(date));
                    Console.WriteLine(">    Create new document : {0}, {1} files will be copied in", date, dataFiles.Count());

                    foreach (var file in dataFiles)
                    {
                        try
                        {
                            file.MoveTo(Path.Combine(dataDocument, file.Name));
                        }
                        catch (Exception exception)
                        {
                            Console.WriteLine(">    Sorting File {0} Exception : {1}", file.Name, exception.Message);
                        }
                    }
                }

                Console.WriteLine("Sorting Successfully");
            }
            else
            {
                Console.WriteLine("No files in current document");
            }

            Console.ReadLine();
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值