整目录copy(WIN API)

来源:互联网 发布:电商运营数据分析维度 编辑:程序博客网 时间:2024/06/16 00:51

一个API版本的目录copy函数


BOOL CopyFiles(CString szSrcDir, CString szDestDir, BOOL bfailIfExists){if (!PathIsDirectory(szSrcDir)){return FALSE;}WIN32_FIND_DATA findFileData;HANDLE hFind = ::FindFirstFile(szSrcDir + _T("*.*"), &findFileData);if (INVALID_HANDLE_VALUE == hFind){return FALSE;}BOOL bRet = TRUE;while(bRet){if(findFileData.cFileName[0] != _T('.')){CString csFileName = findFileData.cFileName;if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){int bRet = SHCreateDirectoryEx(NULL,szDestDir+csFileName,NULL);if (bRet == ERROR_SUCCESS || bRet == ERROR_ALREADY_EXISTS){BOOL bRet = CopyFiles(szSrcDir+csFileName+_T("\\"), szDestDir+csFileName+_T("\\"), bfailIfExists);if (!bRet){CloseHandle(hFind);return FALSE;}}}else{BOOL bRet =CopyFile(szSrcDir+csFileName, szDestDir+csFileName, bfailIfExists);if (!bRet){CloseHandle(hFind);return FALSE;}}}bRet =::FindNextFile(hFind, &findFileData);}FindClose(hFind);return TRUE;}


0 0
原创粉丝点击