我平时习惯把各种文件都下载在`下载`文件夹中,时间久了,文件多了,想要找个文件就不那么方便了。于是我就想自己写一个小程序来实现下载文件的自动整理。我想到的文件分类方式是按照文件扩展名分类:把各文件移动到按其扩展名命名的文件夹内。
以下是在C#的控制台应用程序的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace FileClassifier { class Program { static void Main(string[] args) { //获取程序所在目录 String currentDirectory = System.Environment.CurrentDirectory; Console.WriteLine(currentDirectory); Console.WriteLine(">\nPress any key to start."); Console.ReadLine(); //获取程序名:由于不能移动程序本身, //故提前获取该程序的名称(有可能会被用户修改) String exeName = System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName; //当前目录信息 DirectoryInfo directoryInfo = new DirectoryInfo(currentDirectory); //目录下所有文件 FileInfo[] files = directoryInfo.GetFiles(); foreach (FileInfo file in files) { //不对程序本身进行操作 if (file.Name.Equals(exeName)) { continue; } //获取文件扩展名 String extension = file.Extension; extension = extension.Substring(1); //不操作 *.ini if (extension.Equals("ini")) { continue; } //以扩展名命名的文件夹路径 String filedir = directoryInfo.FullName + "\\" + extension; if (!Directory.Exists(filedir)) { //若文件夹不存在则创建以扩展名命名的文件夹 Directory.CreateDirectory(filedir); Console.WriteLine(">Create folder \"" + extension + "\" succeed!"); } //将文件移动至文件夹 Console.WriteLine(">Moving \"" + file.Name + "\"..."); file.MoveTo(filedir + "\\" + file.Name); } Console.WriteLine(">Succeed!\nPress any key to exit."); Console.ReadLine(); } } }
当然这个程序的功能十分有限,也没有针对错误就行处理,比如说当文件夹内已经存在一个同名文件的情况。由于这个程序是我很久之前写的了,现在也懒得去改了~ (●ˇ∀ˇ●)
版权声明:本文为博主原创文章,未经博主允许不得转载。
请发表评论