//定义一个文件查找句柄
HANDLE hFileFind;
//包含文件各种信息的结构体
WIN32_FIND_DATA filedata;
//找到第一个符合条件的文件
hFileFind = ::FindFirstFile(L"//Folder//*.dll", &filedata);
//dosomething();
//用FindFirstFile返回的句柄继续查找下一个文件,直到搜完为止
while( ::FindNextFile(hFileFind, &filedata)
)
{
//dosomething
}
//最后关闭句柄
::FindClose(hFileFind);
WIN32_FIND_DATA结构体定义:
typedef struct _WIN32_FIND_DATAW {
DWORD dwFileAttributes;
//文件的属性
FILETIME ftCreationTime; //文件创建时间
FILETIME ftLastAccessTime; //文件上次被访问时间
FILETIME ftLastWriteTime; //上次文件上一次修改时间
DWORD nFileSizeHigh;
DWORD nFileSizeLow; //文件的大小
DWORD dwOID; //文件标识符(Object identifier of
the file)
WCHAR cFileName[ MAX_PATH
]; //文件名
} WIN32_FIND_DATAW;
typedef WIN32_FIND_DATAW WIN32_FIND_DATA;
WIN32_FIND_DATA这个结构体包含了对一个文件的丰富描述,我们可以通过这个结构体来对一个文件的各种属性进行修改。两个函数可以使用,SetFileAttributes(), SetFileTime()。另外,如果想修改文件名,可以调用MoveFile这个函数。