EVC实现拷贝文件夹下所有文件
//========================================================================
//TITLE:
//??? EVC實(shí)現(xiàn)拷貝文件夾下所有文件
//AUTHOR:
//??? norains
//DATE:
//??? Wednesday? 17-May-2006
//========================================================================
在EVC下實(shí)現(xiàn)將某文件夾下的所有文件(包括文件夾)拷貝到另一個(gè)文件夾中.算法不復(fù)雜,簡單實(shí)用.
//szExistingDir:源文件夾
//szNewDir:目標(biāo)文件夾
//注意:目標(biāo)文件夾必須要存在,否則該函數(shù)將返回FALSE.
BOOL BrowseAndCopy(const CString szExistingDir, const CString szNewDir)
{?
?CString szExistDir; //保存源文件夾路徑
?CString szAimDir=szNewDir; //保存目標(biāo)文件夾路徑
?CString szFindDir=szExistingDir;
?if(szFindDir.Right(1)!="//")
?{
??szFindDir+="//";
??szExistDir=szFindDir;
?}
?szFindDir+="*.*"; //搜索所有文件
?WIN32_FIND_DATA fd;
?HANDLE hFind;
?hFind=FindFirstFile(szFindDir,&fd); //尋找第一個(gè)文件
?if(hFind!=INVALID_HANDLE_VALUE)
?{
??do{
???if(fd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY) //判斷是否文件夾
???{????
????if(szAimDir.Right(1)!="//")
????{
?????szAimDir+="//";
????}
????CreateDirectory(szAimDir+fd.cFileName,NULL);?//在目標(biāo)文件夾中創(chuàng)建相應(yīng)的子文件夾
????BrowseAndCopy(szExistDir+fd.cFileName,szAimDir+fd.cFileName); //采用遞歸查找子文件下的文件
???}
???else
???{?????
????if(szAimDir.Right(1)!="//")
????{
?????szAimDir+="//";
????}
????
????if(CopyFile(szExistDir+fd.cFileName,szAimDir+fd.cFileName,FALSE)==FALSE) //拷貝文件到目標(biāo)文件夾
????{
?????return FALSE;
????}
???????
???}
??}while(FindNextFile(hFind,&fd)); //查找是否存在下一個(gè)文件
?}
?else
?{
?? //源文件夾為空,返回
??return FALSE;
?}
?return TRUE;
}
轉(zhuǎn)載于:https://www.cnblogs.com/wodeyitian/archive/2006/05/17/2460559.html
總結(jié)
以上是生活随笔為你收集整理的EVC实现拷贝文件夹下所有文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Crystal Reports
- 下一篇: [转]有关gimbal lock的详细解