[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开发过某些属于自己的东西. ...
随机推荐
- 解决VS2010批量替换时经常由于内存较低而导致VS2010自动关闭的问题
尊重原著作:本文转载自http://www.cnblogs.com/Sharping/p/3165527.html 情况描述 在使用VS2010 开发Web应用程序的时候,批量替换时经常卡死关闭. 一 ...
- zoj1074 To the Max
题目很简单,求一个连续的最大子矩阵的值. zoj上的数据非常弱. 首先爆搜是O(N^4),10^8的复杂度略高,那么我们可以处理一下其中一维的前缀和,降一阶,然后按照连续最大子序列来处理,因为可能为负 ...
- SQL SERVER 2008 架构
架构: 一个容器 包含表,视图,数据库对象等等. 相当于命名空间 如何创建一个架构: 1. 图形向导 2.命令 create schema 在sqlserver 2005中,可能大家在工作或学习的时候 ...
- MYSQL 部分事务
MYSQL 中通过 savepoint 的方式来实现只提交事务的一部分. step 1 : savepoint savepoint_name;. 做标记 step 2 :rollbak to save ...
- 各种HelloWorld
http://blog.csdn.net/whxaing2011/article/details/20736759 ES总结: http://www.cnblogs.com/sunxucool/p/3 ...
- Delphi 获取北京时间(通过百度和timedate网站)
方法一: uses ComObj, DateUtils; function GetInternetTime: string; var XmlHttp: OleVariant; datetxt: str ...
- GDI+简单现实文字旋转
原文 http://www.cnblogs.com/kaixiangbb/p/3301272.html 题记 入职新公司已快有两月了,试用期已快结束,项目却迟迟还未正式启动.安排给我的多是些琐事,一直 ...
- Windows DDB和DIB技术应用(3)--图元外边矩形检测
GDI/GDI+中只有对字体的外边框的测量,而没有提供对点,线,面,曲线的外边框获取函数.下面是本人利用DIB技术编写的探测简单图元,甚至也可以探测自己定义的复杂图元的外边矩形框的函数.本人已经测试, ...
- ubuntu qt X11开发环境
- 向未声明的 JavaScript 变量来分配值
如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明. 这条语句: carname="Volvo"; 将声明一个全局变量 carname,即使它在函数内执行.