直接上代码:
1,复制文件夹下所有文件 到另外一个文件夹:
void CopyAllFile(CString dest, CString source)
{
CFileFind filefind;
CString path = source;
if (path.Right(1) != "\\")//目录的最右边需要“\”字符
path += "\\";
path += "*.*";
BOOL res = filefind.FindFile(path);
while (res)
{
res = filefind.FindNextFile();
if (!filefind.IsDirectory() && !filefind.IsDots())
{
CopyFile(filefind.GetFilePath(), dest + filefind.GetFileName(),FALSE);
}
}
filefind.Close();
}
2,复制文件夹下所有到另外一个文件:
int CopyDiretor(CString dest, CString source)
{
SHFILEOPSTRUCT sfo;//结构体
char szSource[MAX_PATH];
char szDest[MAX_PATH];
lstrcpy(szSource, source);//源目录
lstrcpy(szDest, dest);//目的目录
szSource[lstrlen(szSource) + 1] = 0;
szDest[lstrlen(szDest) + 1] = 0;
sfo.hwnd = NULL;//窗口指针
sfo.wFunc = FO_COPY;//操作类型为复制
sfo.pFrom = (LPCSTR)szSource;//源目录
sfo.pTo = (LPCSTR)szDest;//目的目录
sfo.fFlags = FOF_NOCONFIRMATION | //对所有复制过程中可能弹出的对话框采用“全是”选项
FOF_SIMPLEPROGRESS | //使用进度条
FOF_NOCONFIRMMKDIR; //不自动创建新目录
sfo.hNameMappings = 0;
sfo.lpszProgressTitle = "Copy file";//进度条的标题
if (SHFileOperation(&sfo) == 0) //拷贝成功,SHFileOperation返回0
//AfxMessageBox("成功完成拷贝!");
return 0;
else
// AfxMessageBox("拷贝出错");
return 1;
}