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

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

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

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

[C#]Windows文件分类器小程序的更多相关文章

  1. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)

    一  前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件, ...

  2. 制作一个windows垃圾清理小程序

    制作一个windows垃圾清理小程序: 把下列代码保存为.bat文件(如垃圾清理.bat) 双击它就能很快地清理垃圾文件,大约一分钟不到. 就是下面的文字(这行不用复制)=============== ...

  3. JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载

    一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...

  4. JDownload: 一款可以从网络上下载文件的小程序第四篇(整体架构描述)

    一 前言 时间过得真快,距离本系列博客第一篇的发布已经过去9个月了,本文是该系列的第四篇博客,将对JDownload做一个整体的描述与介绍.恩,先让笔者把记忆拉回到2017年年初,那会笔者在看Unix ...

  5. C#windows桌面应用小程序制作——大文件数据分段解析存储

    现在的任务就是做一个大文件解析的桌面应用小程序,具体需求就是:将一个很大的文件里的数据按一定标志拆分然后分别保存到某个文件夹下面. 解析的文件内容为以下内容: windows 应用小程序界面 具体代码 ...

  6. Python - 文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...

  7. JWebFileTrans: 一款可以从网络上下载文件的小程序(一)

    一 摘要 JWebFileTrans是一款基于socket的网络文件传输小程序,目前支持从HTTP站点下载文件,后续会增加ftp站点下载.断点续传.多线程下载等功能.其代码已开源到github上面,下 ...

  8. 使用sourceMap文件定位小程序错误信息

    sourceMap是什么 在前端开发过程中代码难免会有错误,即便是再小心,也有可能出现 Cannot read property 'xxx' of null 这样的低级失误,debug自然是家常便饭. ...

  9. .NET相关操作其他文件的小程序(系列文章)

    平时自诩为使用.NET做开发,但是实际上从一开始学习C#直到现在除了做个几个不登大雅之堂的小网站,做过几个winform程序和几个控制台应用程序,真的没有踏踏实实地用.NET开发过某些属于自己的东西. ...

随机推荐

  1. document_createElement

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  2. Oracle的关于建表,约束,查询等的练习

    从建立一个简单表,到实现一些复杂查询的例子, DROP TABLE grade;DROP TABLE item;DROP TABLE sporter;CREATE TABLE sporter( spo ...

  3. svn 查看某个时间段的记录

    调出svn后,点击查找历史的按钮.

  4. 利用js闭包获取索引号

    以tab选项卡效果为例: 网页中的选项卡效果

  5. 快速学习javascript对象-遍历对象

    为了方便了解每个javascript对象包含的方法,我写一个函数. function GetCollection(obj){ try{ if(obj){ var sType=""; ...

  6. smarty之缓存笔记

    smarty缓存技术 在smarty中,缓存分为:普通缓存,单模版都缓存,局部缓存. 缓存:1:首选打开缓存配置项:$smarty->caching=true; 2:缓存生命周期的配置选项:$s ...

  7. 关于 java.io.IOException: open failed: EACCES (Permission denied)

    今天解决了一个问题,不得不来和大家分享.就是关于 java.io.IOException: open failed: EACCES (Permission denied)的问题,网上也有很多人把这个问 ...

  8. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  9. WEB网站前端性能分析相关

    现在的网站分析工具,数据源主要有两种,分别是服务器日志(WebServer Log)和采集日志 买 优化要根据具体的业务和场景来分析 埋点:监控用户点击的每一步

  10. 解决Easyui1.3.3 IE8兼容性问题

    事先声明:项目在Firefox和Chrome上完美运行,在MSIE9.MSIE10上基本没问题,但是放在MSIE8上面运行问题就出来了.登录系统后,系统页面跳动,导致系统无法使用:我使用的是Easyu ...