// testfindfile.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <windows.h>
bool SearchFilesByWildcard(const WCHAR* wildcardPath)
{
HANDLE hFile = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA pNextInfo;
hFile = FindFirstFile(wildcardPath, &pNextInfo);
if (INVALID_HANDLE_VALUE == hFile)
{
return false;
}
WCHAR infPath[MAX_PATH] = { 0 };
if (pNextInfo.cFileName[0] != '.')
{
printf("Find result = %ws\r\n", pNextInfo.cFileName);
}
while (FindNextFile(hFile, &pNextInfo))
{
if (pNextInfo.cFileName[0] == '.')
{
continue;
}
printf("Find result = %ws\r\n", pNextInfo.cFileName);
}
return false;
}
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "chs");
//查找 abc开头的txt文件
printf("Search 1:\r\n");
SearchFilesByWildcard(L"F:\\Test\\*.2txt");
printf("\r\n");
//查找 abc开头的文件
printf("Search 2:\r\n");
SearchFilesByWildcard(L"F:\\Test\\abc*");
printf("\r\n");
//查找jnt文件
printf("Search 3:\r\n");
SearchFilesByWildcard(L"F:\\Test\\*.jnt");
printf("\r\n");
//查找文件名为4个字符的txt文件
printf("Search 4:\r\n");
SearchFilesByWildcard(L"F:\\Test\\????.txt");
printf("\r\n");
//查找包含"档案"的文件
printf("Search 5:\r\n");
SearchFilesByWildcard(L"F:\\Test\\*档案*");
printf("\r\n");
getchar();
return 0;
}