[C#]Windows文件分类器小程序

我平时习惯把各种文件都下载在`下载`文件夹中,时间久了,文件多了,想要找个文件就不那么方便了。于是我就想自己写一个小程序来实现下载文件的自动整理。我想到的文件分类方式是按照文件扩展名分类:把各文件移动到按其扩展名命名的文件夹内。  

以下是在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();
        }
    }
}



当然这个程序的功能十分有限,也没有针对错误就行处理,比如说当文件夹内已经存在一个同名文件的情况。由于这个程序是我很久之前写的了,现在也懒得去改了~ (●ˇ∀ˇ●)

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

posted @ 2015-06-20 23:38  夏方方  阅读(562)  评论(0编辑  收藏  举报