MFC 如何复制整个文件夹
时间: 2023-08-10 16:05:38 浏览: 136
MFC中可以使用CFileFind类来查找文件夹中的文件,然后使用CFile类来复制文件。
以下是一个示例代码,用于复制整个文件夹:
```
void CopyFolder(CString strSrcFolder, CString strDestFolder)
{
CFileFind finder;
CString strWildcard = strSrcFolder + _T("\\*.*");
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
CString strSrcFilePath = finder.GetFilePath();
CString strFileName = finder.GetFileName();
CString strDestFilePath = strDestFolder + _T("\\") + strFileName;
if (finder.IsDirectory())
{
// 如果是文件夹,则递归复制
CreateDirectory(strDestFilePath, NULL);
CopyFolder(strSrcFilePath, strDestFilePath);
}
else
{
// 如果是文件,则复制
CFile::Copy(strSrcFilePath, strDestFilePath);
}
}
finder.Close();
}
```
调用方式:
```
CopyFolder(_T("D:\\SourceFolder"), _T("D:\\DestFolder"));
```
其中,第一个参数为源文件夹路径,第二个参数为目标文件夹路径。
阅读全文