分类
大小:.02M更新:2020-03-11
类别:文件处理系统:WinXP,Win7,win8
文件夹自动归类小程序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));
}
文件分割命名精灵文件处理.15Mv1.6绿色免费版
查看DWG转DWF工具Any DWG to DWF Converter文件处理M2020.0 官方版
查看EIF解压工具绿色版文件处理.15Mv1.0 免费版
查看HashCodes文件指纹检校工具文件处理.50M简体中文版
查看pst文件转换器(MailsDaddy PST File Converter)文件处理Mv2.5官方版
查看ScanTransfer文件处理M
查看分轨CUE生成器文件处理.18MV1.2绿色版
查看XM文件备份工具文件处理.56Mv1.0 绿色免费版
查看通用包文件处理工具文件处理M3.7.0.0 绿色版
查看落梦文本处理器文件处理.49Mv1.0.0.8 整合版
查看文件阅读器(tlReader)文件处理Mv11.1.0.2360免费中文版
查看海马OCR扫描文件处理Mv1.2.0官方版
查看VeryPDF ePub to iPhone Transfer文件处理Mv2.0官方版
查看文件批量改名工具文件处理.02Mv2.0绿色免安装版
查看PDF文档处理控件Gnostice PDFtoolkit VCL文件处理Mv5.0.0.402 官方版
查看PDF猫PDF转图片文件处理M1.0.0.0官方版
查看知识管理工具(Thoughts)文件处理Mv0.4.10官方版
查看浩辰CAD电气2014注册机文件处理.02M免费版
查看迅捷CAD转换器单文件版文件处理Mv2.6.1.0免费版
查看PDF编辑工具Able2Extract PDF Converter文件处理Mv15.0.3.0 官方版
查看智能扫描软件(ScanPapyrus)文件处理M17.4.0.0 官方版
查看涉税鉴证报告校验工具文件处理MV1.1离线版
查看闪电PDF转换成WORD转换器文件处理Mv6.5.2.0官方版
查看pdf编辑器(Master PDF Editor)文件处理Mv5.4.10 官方中文版
查看点击查看更多