首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Windows下怎么按时间查找文件

2014-01-14 
Windows下如何按时间查找文件比方说我想某个文件夹下所有最后修改时间大于2014/1/12 13:39:40以后的所有文

Windows下如何按时间查找文件
比方说我想某个文件夹下所有最后修改时间大于2014/1/12 13:39:40以后的所有文件,应该如何做?用编程、软件方法都可以,应该如何做呢?大家多多支持啊
[解决办法]
这是以遍历指定路径的文件, 并删除的代码.

void delallfile(char *Path)
{
    char file[MAX_PATH];
    lstrcpy(file,Path);
    lstrcat(file,"\\*.*"); 
    WIN32_FIND_DATA wfd; 
    HANDLE Find = FindFirstFile(file,&wfd); 
    if (Find == INVALID_HANDLE_VALUE)  
        return;
     
    while (FindNextFile(Find, &wfd))
    {
        if (wfd.cFileName[0] == '.') 
        {
            continue;
        }
        if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
        { 
            char szFindPath[MAX_PATH];
            lstrcpy(szFindPath,Path); 
            lstrcat(szFindPath,"\"); 
            lstrcat(szFindPath,wfd.cFileName); 
            delallfile(szFindPath);  
        }
              
        char FilePath[MAX_PATH]; 
        lstrcpy(FilePath,Path); 
        lstrcat(FilePath,"\"); 
        lstrcat(FilePath,wfd.cFileName); 
        printf("%s\r\n",FilePath);
        //DeleteFile(FilePath);
                //这里写上你要执行的操作
    }
    FindClose(Find);
 
     
}


其中结构体:
typedef struct _WIN32_FIND_DATA {  DWORD dwFileAttributes;  FILETIME ftCreationTime;  FILETIME ftLastAccessTime;  FILETIME ftLastWriteTime;  DWORD nFileSizeHigh;  DWORD nFileSizeLow;  DWORD dwReserved0;  DWORD dwReserved1;  TCHAR cFileName[MAX_PATH];  TCHAR cAlternateFileName[14];
} WIN32_FIND_DATA,  *PWIN32_FIND_DATA,  *LPWIN32_FIND_DATA;

ftCreationTime  //文件创建时间
A FILETIME structure that specifies when a file or directory was created. 

If the underlying file system does not support creation time, this member is zero (0).

ftLastAccessTime //文件最后访问时间
A FILETIME structure. 

For a file, the structure specifies when the file was last read from, written to, or for executable files, run.

For a directory, the structure specifies when the directory is created. If the underlying file system does not support last access time, this member is zero (0).

On the FAT file system, the specified date for both files and directories is correct, but the time of day is always set to midnight.

ftLastWriteTime   //文件最近修改时间
A FILETIME structure. 

For a file, the structure specifies when the file was last written to, truncated, or overwritten, for example, when WriteFile or SetEndOfFile are used. The date and time are not updated when file attributes or security descriptors are changed.

For a directory, the structure specifies when the directory is created. If the underlying file system does not support last write time, this member is zero (0).




你只需要判断WIN32_FIND_DATA结构体的ftCreationTime成员即可判断出创建时间是否是你想过虑掉的.

热点排行