BOOL CUpdateMiDlg::CopyDirectory(CString SrcDirectry, CString DstDirectory)
{
CreateDirectory(DstDirectory,NULL); //创建目标文件夹
//AfxMessageBox("创建文件夹"+target);
CFileFind finder;
CString stPath;
BOOL re=FALSE;
stPath.Format(_T("%s/*.*"),SrcDirectry);
BOOL bWorking =finder.FindFile(stPath);
while(bWorking)
{
bWorking = finder.FindNextFile();
if(finder.IsDirectory() && !finder.IsDots())//是文件夹 而且 名称不含 . 或 ..
{
//递归创建文件夹+"/"+finder.GetFileName()
CopyDirectory(finder.GetFilePath(),DstDirectory+_T("/")+finder.GetFileName());
}
else//是文件 则直接复制
{
CString stSrcFile=finder.GetFilePath();
BOOL result=(GetFileAttributes(stSrcFile) & FILE_ATTRIBUTE_DIRECTORY);
if (!result)
{
re=CopyFile(finder.GetFilePath(),DstDirectory+_T("/")+finder.GetFileName(),FALSE);
}
}
}
return re;
}
vc++ 拷贝文件夹
最新推荐文章于 2025-02-11 00:15:00 发布