[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();
}
}
}
当然这个程序的功能十分有限,也没有针对错误就行处理,比如说当文件夹内已经存在一个同名文件的情况。由于这个程序是我很久之前写的了,现在也懒得去改了~
(●ˇ∀ˇ●)
版权声明:本文为博主原创文章,未经博主允许不得转载。
[C#]Windows文件分类器小程序的更多相关文章
- JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(二)
一 前言 本文是上一篇博客JWebFileTrans:一款可以从网络上下载文件的小程序(一)的续集.此篇博客主要在上一篇的基础上加入了断点续传的功能,用户在下载中途停止下载后,下次可以读取断点文件, ...
- 制作一个windows垃圾清理小程序
制作一个windows垃圾清理小程序: 把下列代码保存为.bat文件(如垃圾清理.bat) 双击它就能很快地清理垃圾文件,大约一分钟不到. 就是下面的文字(这行不用复制)=============== ...
- JWebFileTrans(JDownload): 一款可以从网络上下载文件的小程序(三),多线程断点下载
一 前言 本篇博客是<JWebFileTrans(JDownload):一款可以从网络上下载文件的小程序>系列博客的第三篇,本篇博客的内容主要是在前两篇的基础上增加多线程的功能.简言之,本 ...
- JDownload: 一款可以从网络上下载文件的小程序第四篇(整体架构描述)
一 前言 时间过得真快,距离本系列博客第一篇的发布已经过去9个月了,本文是该系列的第四篇博客,将对JDownload做一个整体的描述与介绍.恩,先让笔者把记忆拉回到2017年年初,那会笔者在看Unix ...
- C#windows桌面应用小程序制作——大文件数据分段解析存储
现在的任务就是做一个大文件解析的桌面应用小程序,具体需求就是:将一个很大的文件里的数据按一定标志拆分然后分别保存到某个文件夹下面. 解析的文件内容为以下内容: windows 应用小程序界面 具体代码 ...
- Python - 文件分发小程序
一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...
- JWebFileTrans: 一款可以从网络上下载文件的小程序(一)
一 摘要 JWebFileTrans是一款基于socket的网络文件传输小程序,目前支持从HTTP站点下载文件,后续会增加ftp站点下载.断点续传.多线程下载等功能.其代码已开源到github上面,下 ...
- 使用sourceMap文件定位小程序错误信息
sourceMap是什么 在前端开发过程中代码难免会有错误,即便是再小心,也有可能出现 Cannot read property 'xxx' of null 这样的低级失误,debug自然是家常便饭. ...
- .NET相关操作其他文件的小程序(系列文章)
平时自诩为使用.NET做开发,但是实际上从一开始学习C#直到现在除了做个几个不登大雅之堂的小网站,做过几个winform程序和几个控制台应用程序,真的没有踏踏实实地用.NET开发过某些属于自己的东西. ...
随机推荐
- Ubuntu kylin 有可能成为未来中国的主流系统吗?
编前语: 无意间开始研究起linux,因为目前互联网很多人,包括我都隐约感觉到,windows系统在中国乃至世界在今后的流行度会逐步降低,不为什么,其中最主要的是安全问题,Microsoft 微软公司 ...
- iOS开发--系统通讯录的访问与添加联系人
公司项目有访问通讯录的需求,所以开始了探索之路.从开始的一无所知,到知识的渐渐清晰.这一切要感谢广大无私分享的 “coder”,注:我是尊称的语气! 苹果提供了访问系统通讯录的框架,以便开发者对系统通 ...
- Spring配置多数据源
如何在应用启动之后灵活切换数据源的关键点: 将SessionFactory接口中的dataSource配置为AbstractRoutingDataSource的instance,sessionFact ...
- javascript 数据结构和算法读书笔记 > 第四章 栈
1. 对栈的操作 栈是一种特殊的列表,栈中的元素只能通过列表的一端进行访问,即栈顶.类似于累起一摞的盘子,只能最后被放在上面的,最先能被访问到. 就是我们所说的后入先出(LIFO). 对栈主要有入栈p ...
- 获取mysqli函数的值和字段名
<?php $mysqli=new mysqli("localhost", "root", "123456", "xsphp ...
- PHP框架学习之Laravel基本功能
Laravel5的功能不是一般的多(路由,中间件,blade模版...),单是一个路由功能就让哥很蛋疼,虽说路由使用起来变得很灵活,但真他妹的有点变态了.这里是我照着Laravel5官方文档研究的成果 ...
- I/O浅析
1.为什么需要I/O? 因为程序需要从别的文件中获取内容或者程序要将自身的内容传入到文件中. 2.流种类的概述 1.字节流和字符流 字节流的基础单位是byte 字符流 ...
- 图解musk这个神人
- Database.SetInitializer的几种参数
一:数据库不存在时重新创建数据库 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testCon ...
- Android之Adapter用法总结
http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...