|
干点苦力攒点分
BOOL CopyFolderFiles(TCHAR *szSrcFolder, TCHAR *szDestFolder)
{
WIN32_FIND_DATA fd;
HANDLE hFind;
TCHAR src[128];
TCHAR str1[128];
TCHAR str2[128];
_stprintf(src, TEXT("%s\\*.*"), szSrcFolder);
hFind=FindFirstFile(src,&fd); //寻找第一个文件
if(hFind!=INVALID_HANDLE_VALUE)
{
do{
_stprintf(str1, TEXT("%s\\%s"), szDestFolder, fd.cFileName);
_stprintf(str2, TEXT("%s\\%s"), szSrcFolder, fd.cFileName);
if(fd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY) //判断是否文件夹
{
//目标文件夹不存在,创建新子文件夹。
if (FindFirstFile(str1,&fd) == INVALID_HANDLE_VALUE)
{
CreateDirectory(str1,NULL);
}
CopyFolderFiles(str2, str1); //采用递归查找子文件下的文件
}
else
{
CopyFile(str2, str1, true); //If already exist, skip copy the file
}
}while(FindNextFile(hFind,&fd)); //查找是否存在下一个文件
}
else
{
//源文件夹为空,返回
return FALSE;
}
return TRUE;
} |
|