整目录copy

来源:互联网 发布:kruskal贪心算法 编辑:程序博客网 时间:2024/05/23 01:14

在项目中经常会用到整目录复制的功能,windows的API只能支持到单文件的copy,自己写了一个:

BOOL CopyFiles(CString szSrcDir, CString szDestDir, BOOL bfailIfExists){CFileFind finder;if (!PathIsDirectory(szSrcDir)){return FALSE;}BOOL bExists = finder.FindFile(szSrcDir + _T("*.*"));while(bExists){bExists = finder.FindNextFile();CString csFileName = finder.GetFileName();if (finder.IsDots()){continue;}if (finder.IsDirectory()){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){return FALSE;}}}else{BOOL bRet =CopyFile(szSrcDir+csFileName, szDestDir+csFileName, bfailIfExists);if (!bRet){return FALSE;}}}return TRUE;}
共有三个参数, 第一个是源目录,第二个是目标目录,第三个是文件存在时是否复制。

这个函数只能用来copy整个目录,不能用来copy单文件,单文件还是使用windows的API(CopyFile)。

1 0
原创粉丝点击