文件夹自动归类小程序onkeyclassification,由吾爱大神原创制作分享的一个实用小工具,能自动将文件按照修改创建日期来进行分类并声称对应的文件夹,对于需要批量处理大量文件内容的用户来说是一个非常实用的小工具,节省文件查找时间。本次放出文件夹自动归类小程序PC版下载。

文件夹自动归类小程序作者说明
有时候手机里值得保存的照片、视频多了,就想分类保存在电脑里。可并不是每次从Camera相册里拷备出来我都有闲心按时间排序一个个给他归好类,并且很多时候都是隔几个月了想备份一下,有什么重要的事情记录下来了又备份一下。然后给总文件夹起个名字,方便记忆。
这样的方式导致我有时候想找点什么照片的时候,总是在一大片照片海里用缩略图眯着眼睛找,甚至有时候错过了都不知道。直到用的时候,才发现用创建时间来归类是一件多么方便的事情。
于是,疫情在家闲得没事的我就写了这么个小程序,一键把当前文件夹下的所有文件(仅文件)按修改时间创建文件夹,并将文件移入相应时间的文件夹下(以月为单位),查找上限为2年,每月可操作文件为200(当然,这些都可在源码里更改)。
文件夹自动归类小程序源码一览
#include <stdio.h>
#include <windows.h>
//创建文件夹所需头文件
#include <io.h>
#include <direct.h>
#define YEAR 2
//存放时间,用作文件夹名
TCHARfoldername[YEAR*12][200] = {0};
intt;
voidFileTimeCompare(SYSTEMTIME FileTime){
charbuf[200] = {0};
inti, p;
memset(buf, 0, 200);
//printf("t=%d\n", t);
wsprintf(buf,"%d-%d", FileTime.wYear, FileTime.wMonth);
if(t==0 &&strcmp(foldername[t], buf) != 0){
strcpy(foldername[t], buf);
t++;
}
//信息是否重复的开关,如果是则为1
p=0;
for(i=0; i<t; i++ ){
if(strcmp(foldername[i], buf) == 0){
p=1;
}
}
if(p==0){
strcpy(foldername[t], buf);
t++;
}
}
voidRenfile(char*filename, SYSTEMTIME FileTime){
charbuf[MAX_PATH];
charnewpath[MAX_PATH];
inti;
memset(buf, 0, MAX_PATH);
memset(newpath, 0, MAX_PATH);
wsprintf(buf,"%d-%d", FileTime.wYear, FileTime.wMonth);
for(i=0; i<t; i++){
if(strcmp(foldername[i], buf) == 0){
wsprintf(newpath,".\\%s\\%s", buf, filename);
if(rename(filename, newpath) == 0)
printf("%s\t\t已移动!\n", filename);
}
}
}
voidFFind(char*path,char*myname);
voidTFind(char*path,char*myname);
voidmain(intargc,char*argv[]){
charpath[MAX_PATH] = {0};
//创建文件名缓冲区
charfilename[MAX_PATH] = {0};
inti;
//获取当前路径
getcwd(path, MAX_PATH);
printf("path=%s\n", path);
strcat(path,"\\*.*");
t=0;
//第一遍,遍历所有文件,将其时间进行收集对比
FFind(path, argv[0]);
//创建文件夹
for(i=0; i<t; i++){
if(_access(foldername[i], 0) == -1){
_mkdir(foldername[i]);
printf("%s\t\t文件夹已创建\n", foldername[i]);
}
}
//第二遍,遍历并移动所有文件
TFind(path, argv[0]);
printf("\n\n已移动所有文件!\n");
system("pause");
//printf("当前路径为:%s\n", GetPath());
//printf("发现创建时间为%s的文件,创建文件夹。\n",GetCreatTime());
}
voidFFind(char*path,char* myname){
//创建查找结构体
WIN32_FIND_DATA FindFile;
//创建查找文件句柄
HANDLEhFind;
charfilename[MAX_PATH] = {0};
SYSTEMTIME spec_time;
hFind = FindFirstFile(path, &FindFile);
if(INVALID_HANDLE_VALUE == hFind){
printf("创建文件查找结构体出错!\n");
exit(0);
}
do{
if(FindFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(0 !=strcmp(FindFile.cFileName,".") && 0 !=strcmp(FindFile.cFileName,"..")){
//发现目录,暂不处理
}
}else{
//找到文件,查看其最后一次修改日期
//排除自身
getcwd(filename, MAX_PATH);
strcat(filename,"\\");
strcat(filename, FindFile.cFileName);
if(strcmp(filename, myname) != 0){
FileTimeToSystemTime(&FindFile.ftLastWriteTime, &spec_time);
FileTimeCompare(spec_time);
}
}
}while(FindNextFile(hFind, &FindFile));
}
voidTFind(char*path,char*myname){
//创建查找结构体
WIN32_FIND_DATA RenFile;
//创建查找文件句柄
HANDLEtFind;
charfilename[MAX_PATH] = {0};
SYSTEMTIME spec_time;
tFind = FindFirstFile(path, &RenFile);
if(INVALID_HANDLE_VALUE == tFind){
printf("创建tFind文件查找结构体出错!\n");
exit(0);
}
//第二遍遍历文件,移动文件
do{
if(RenFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(0 !=strcmp(RenFile.cFileName,".") && 0 !=strcmp(RenFile.cFileName,"..")){
//发现目录,暂不处理
}
}else{
//找到文件并移动至已创建目录
//排除自身
//strcpy(filename, getcwd(path, MAX_PATH));
getcwd(filename, MAX_PATH);
strcat(filename,"\\");
strcat(filename, RenFile.cFileName);
if(strcmp(filename, myname) != 0){
FileTimeToSystemTime(&RenFile.ftLastWriteTime, &spec_time);
Renfile(RenFile.cFileName, spec_time);
}
}
}while(FindNextFile(tFind, &RenFile));
}






















大小: 28.4M
大小: 269.2M
大小: 94.9M
PDF文件转换成Word(Solid Converter PDF)10.0.9341.3476 中文特别版
Restorator 2009V1807Bulid绿色中文免费版
汉王PDF转Wordv8.1简体中文版
得力PDF转WORDv1.8.6.6 官方免费版
福昕PDF转Word转换器4.0.0.1211官方免费版
PDF修改器2.5.2.0 绿色免费版
Flash转换工具Magic Swf2Avi2008 汉化特别版
Excel文件修复工具(GetData Repair My Excel)v1.1.0.71 英文破解版
DocTranslate(翻译Doc和Ppt文档的语言)V1.1.0.2英文绿色版
扬帆绿色软件制作工具那片叶子最终版
Cogniview PDF2XL Enterprise(把pdf转换excel工具)v4.6.0.179英文绿色特别版
Abdio PDF Converter Pro(转换文件格式到PDF)V6.1英文安装版
用友U8科目错误修正工具V1.0绿色版
AJC Grep(文件搜索替换、数据提取)V1.3.4绿色英文特别版
RecycleBinExV1.0.5.530 汉化绿色版
AJC Diffv1.91英文绿色特别版