近日大量图片上传到百度云备份,当同一文件夹数量 > 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();
}
}
}