Computer/C, CPP, MFC Updated: 2015. 10. 2. 16:32 hwaya.

하위폴더까지 전체 복사하기

반응형
BOOL ---------------::XCopy(char *Src, char *Dest, int my94) 
{
	HANDLE hSrch;
	WIN32_FIND_DATA wfd;
	BOOL bResult = TRUE;

	char fname[MAX_PATH];
	char WildCard[MAX_PATH];	// 원본
	char HoneyCard[MAX_PATH];	// 사본
	char SrcFile[MAX_PATH];
	char DestFile[MAX_PATH];

	strcpy_s(WildCard, Src);
	strcat_s(WildCard, "\*.*");

	strcpy_s(HoneyCard, Dest);

	// 폴더위치
	if (my94 == 0)  // 재귀
	{
	}
	else if (my94 == 1)  // EZ-Raschel
	{
		strcat_s(HoneyCard, "\EZ-Raschel\\");
	}
	else if (my94 == 2) // Raschel
	{
		strcat_s(HoneyCard, "\Raschel\\");
	}
	CreateDirectory(HoneyCard, NULL);
	
	hSrch = FindFirstFile(WildCard, &wfd);

	if (hSrch == INVALID_HANDLE_VALUE)
	{
		return FALSE;
	}
	while (bResult)
	{
		wsprintf(fname, _T("%s\%s"), Src, wfd.cFileName);
		// 서브 디렉토리가 발견되면 서브 디렉토리를 복사한다. 
		if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
		{
			if (wfd.cFileName[0] != '.')
			{
				wsprintf(SrcFile, _T("%s\%s\\"), Src, wfd.cFileName);
				wsprintf(DestFile, _T("%s\%s\\"), HoneyCard, wfd.cFileName);
				XCopy(SrcFile, DestFile, 0);
			}
		}
		else
		{
			wsprintf(DestFile, _T("%s\%s"), HoneyCard, wfd.cFileName);
			CopyFile(fname, DestFile, FALSE);
		}
		bResult = FindNextFile(hSrch, &wfd);
	}
	FindClose(hSrch);
	return TRUE;
}


반응형

'Computer > C, CPP, MFC' 카테고리의 다른 글

CRegKey/SetValue 바꾸자  (0) 2019.09.12
ReadFile()  (0) 2015.12.04
SetFilePointer()  (0) 2015.12.04
프로그램 종료  (0) 2015.10.13
윈도우 버전 알아보기  (0) 2015.10.02
Windows Styles  (0) 2015.06.15
timeSetEvent 와 친구들  (0) 2015.06.02
PeekMessage  (0) 2014.03.26

Table of Contents


    EIGHTBOX
    EIGHTBOX
    hwaya.

    programmer

    🍋일상의 소소한 순간들부터 큰 꿈까지, 호기심을 만족시킬 다양한 카테고리를 담은 블로그 입니다. 그리고, 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람🌵

    Today Yesterday Total
    최신글