西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

文件夾自動(dòng)歸類(lèi)小程序onkeyclassification

  • 文件夾自動(dòng)歸類(lèi)小程序onkeyclassification
  • 軟件大小:19KB
  • 更新時(shí)間:2020-03-11 09:05
  • 軟件語(yǔ)言:中文
  • 軟件廠商:
  • 軟件類(lèi)別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 文件處理
  • 軟件等級(jí):3級(jí)
  • 應(yīng)用平臺(tái):WinXP, Win7, win8
  • 官方網(wǎng)站:暫無(wú)
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

文件夾自動(dòng)歸類(lèi)小程序onkeyclassification,由吾愛(ài)大神原創(chuàng)制作分享的一個(gè)實(shí)用小工具,能自動(dòng)將文件按照修改創(chuàng)建日期來(lái)進(jìn)行分類(lèi)并聲稱對(duì)應(yīng)的文件夾,對(duì)于需要批量處理大量文件內(nèi)容的用戶來(lái)說(shuō)是一個(gè)非常實(shí)用的小工具,節(jié)省文件查找時(shí)間。本次放出文件夾自動(dòng)歸類(lèi)小程序PC版下載。

文件夾自動(dòng)歸類(lèi)小程序onkeyclassification

文件夾自動(dòng)歸類(lèi)小程序作者說(shuō)明

有時(shí)候手機(jī)里值得保存的照片、視頻多了,就想分類(lèi)保存在電腦里?刹⒉皇敲看螐腃amera相冊(cè)里拷備出來(lái)我都有閑心按時(shí)間排序一個(gè)個(gè)給他歸好類(lèi),并且很多時(shí)候都是隔幾個(gè)月了想備份一下,有什么重要的事情記錄下來(lái)了又備份一下。然后給總文件夾起個(gè)名字,方便記憶。

這樣的方式導(dǎo)致我有時(shí)候想找點(diǎn)什么照片的時(shí)候,總是在一大片照片海里用縮略圖瞇著眼睛找,甚至有時(shí)候錯(cuò)過(guò)了都不知道。直到用的時(shí)候,才發(fā)現(xiàn)用創(chuàng)建時(shí)間來(lái)歸類(lèi)是一件多么方便的事情。

于是,疫情在家閑得沒(méi)事的我就寫(xiě)了這么個(gè)小程序,一鍵把當(dāng)前文件夾下的所有文件(僅文件)按修改時(shí)間創(chuàng)建文件夾,并將文件移入相應(yīng)時(shí)間的文件夾下(以月為單位),查找上限為2年,每月可操作文件為200(當(dāng)然,這些都可在源碼里更改)。

文件夾自動(dòng)歸類(lèi)小程序源碼一覽

#include <stdio.h>

#include <windows.h>

//創(chuàng)建文件夾所需頭文件

#include <io.h>

#include <direct.h>

#define YEAR 2

//存放時(shí)間,用作文件夾名

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++;

    }

    //信息是否重復(fù)的開(kāi)關(guān),如果是則為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已移動(dòng)!\n", filename);

        }

    }

}

voidFFind(char*path,char*myname);

voidTFind(char*path,char*myname);

voidmain(intargc,char*argv[]){ 

    charpath[MAX_PATH] = {0};

    //創(chuàng)建文件名緩沖區(qū)

    charfilename[MAX_PATH] = {0};

    inti;

    //獲取當(dāng)前路徑

    getcwd(path, MAX_PATH);

    printf("path=%s\n", path);

    strcat(path,"\\*.*");

    t=0;

    //第一遍,遍歷所有文件,將其時(shí)間進(jìn)行收集對(duì)比

    FFind(path, argv[0]);

    //創(chuàng)建文件夾

    for(i=0; i<t; i++){

        if(_access(foldername[i], 0) == -1){

            _mkdir(foldername[i]);

            printf("%s\t\t文件夾已創(chuàng)建\n", foldername[i]);

        }  

    }

    //第二遍,遍歷并移動(dòng)所有文件

    TFind(path, argv[0]);

    printf("\n\n已移動(dòng)所有文件!\n");  

    system("pause");

    //printf("當(dāng)前路徑為:%s\n", GetPath());

    //printf("發(fā)現(xiàn)創(chuàng)建時(shí)間為%s的文件,創(chuàng)建文件夾。\n",GetCreatTime());

}

voidFFind(char*path,char* myname){

    //創(chuàng)建查找結(jié)構(gòu)體

    WIN32_FIND_DATA FindFile;

    //創(chuàng)建查找文件句柄

    HANDLEhFind;

    charfilename[MAX_PATH] = {0};

    SYSTEMTIME spec_time;

    hFind = FindFirstFile(path, &FindFile);

    if(INVALID_HANDLE_VALUE == hFind){

        printf("創(chuàng)建文件查找結(jié)構(gòu)體出錯(cuò)!\n");

        exit(0);

    }

    do{    

        if(FindFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){

            if(0 !=strcmp(FindFile.cFileName,".") && 0 !=strcmp(FindFile.cFileName,"..")){

                //發(fā)現(xiàn)目錄,暫不處理

            }

        }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){

    //創(chuàng)建查找結(jié)構(gòu)體

    WIN32_FIND_DATA RenFile;

    //創(chuàng)建查找文件句柄

    HANDLEtFind;

    charfilename[MAX_PATH] = {0};

    SYSTEMTIME spec_time;

    tFind = FindFirstFile(path, &RenFile);

    if(INVALID_HANDLE_VALUE == tFind){

        printf("創(chuàng)建tFind文件查找結(jié)構(gòu)體出錯(cuò)!\n");

        exit(0);

    }

    //第二遍遍歷文件,移動(dòng)文件

    do{    

        if(RenFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){

            if(0 !=strcmp(RenFile.cFileName,".") && 0 !=strcmp(RenFile.cFileName,"..")){

                //發(fā)現(xiàn)目錄,暫不處理

            }

        }else{

            //找到文件并移動(dòng)至已創(chuàng)建目錄

            //排除自身

            //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));

}

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載