#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
/*********************************************************************
函 数 名:CopyDirectory
函数功能:拷贝指定目录的文件夹
参数说明:char *pcSourPath:待拷贝的文件夹路径
char *pcDestPath:拷贝到的目标路径
返 回 值:BOOL
作 者:daoge 2011-05-28
修改记录:
*********************************************************************/
BOOL CopyDirectory(char cSourPath[], char cDestPath[])
{
int nTest = 0;
SHFILEOPSTRUCT FileOp = {0};
cSourPath[strlen(cSourPath) + 1] = '/0';
cDestPath[strlen(cDestPath) + 1] = '/0';
FileOp.hwnd = NULL;
FileOp.wFunc = FO_COPY;
FileOp.pFrom = cSourPath;
FileOp.pTo = cDestPath;
FileOp.fFlags = FOF_ALLOWUNDO;
FileOp.hNameMappings = NULL;
FileOp.lpszProgressTitle = NULL;
nTest = SHFileOperation(&FileOp);
if(nTest == 0)
{
return TRUE;
}
return FALSE;
}
int main(int argc, char* argv[])
{
char cSourPath[MAX_PATH] = {0};
char cDestPath[] = {"F://DestDir"};
GetModuleFileName(NULL, cSourPath, MAX_PATH);
for (int nLen = strlen(cSourPath) - 1; nLen > 0; nLen--)
{
if (cSourPath[nLen] == '//')
{
cSourPath[nLen] = '/0';
break;
}
}
strcat(cSourPath, "//SourceDir");
if (CopyDirectory(cSourPath, cDestPath))
{
printf("拷贝成功/r/n");
}
return 0;
}