본문 바로가기
Study/API

폴더 복사 방법

by 뿡뿡대마왕 2011. 9. 28.
반응형
-- 폴더를 복하는 코드.. copyfile 함수로 쓰면 파일은 복사가 되는데 폴더는 복사가 안된다..
즉 폴더일경우 폴더를 새로 만들고 그 안에다가 파일을 복사해서 넣어야 하는 것이다...머리로는 충분히 돌아가는데
코딩하기가 너무 귀찮귀.. ㅠㅠ
찾다보니 누가 해놓은게 있어서 긁어옴...ㅋㅋㅋㅋ
야호!!~~`잘 쓰겠습니당.쿠쿠

출처 :  http://blog.naver.com/hana_815?Redirect=Log&logNo=60095879971

// Src 폴더의 모든 파일과 서브 디렉토리를 Dest로 복사한다. 
// XCopy(Dir1, Dir2)형태로 사용한다.
BOOL XCopy(LPCTSTR Src, LPCTSTR Dest)
{
 HANDLE hSrch;
 WIN32_FIND_DATA wfd;
 BOOL bResult=TRUE;
 TCHAR WildCard[MAX_PATH];
 TCHAR SrcFile[MAX_PATH];
 TCHAR DestFile[MAX_PATH];

 wsprintf(WildCard,"%s\\*.*",Src);
 CreateDirectory(Dest,NULL);
 hSrch=FindFirstFile(WildCard,&wfd);
 if (hSrch == INVALID_HANDLE_VALUE) 
  return FALSE;
 while (bResult) {
  wsprintf(SrcFile,"%s\\%s",Src,wfd.cFileName);
  wsprintf(DestFile,"%s\\%s",Dest,wfd.cFileName);
  // 서브 디렉토리가 발견되면 서브 디렉토리를 복사한다.
  if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
   if (lstrcmp(wfd.cFileName,".") && lstrcmp(wfd.cFileName,"..")) {
    XCopy(SrcFile, DestFile);
   }
  } else {
   CopyFile(SrcFile,DestFile,FALSE);
  }
  bResult=FindNextFile(hSrch,&wfd);
 }
 FindClose(hSrch);
 return TRUE;
}

 
반응형

댓글