怎么实现把一个文件夹及里面的文件一起拷贝到指定的路径目录下
如何实现把一个文件夹及里面的文件一起拷贝到指定的路径目录下.
如何实现把一个文件夹及里面的文件一起拷贝到指定的路径目录下.如果指定目录下文件夹已经存在,不执行该操作.
------解决方案--------------------
SHFileOperation
用法参考MSDN
------解决方案--------------------
char pFrom[256];
memset(pFrom, 0x00, 256);
strcpy(pFrom, path); // 第一个文件
// CString stempto = "c:\\note ";
char pTo[256];
memset(pTo, 0x00, 256);
strcpy(pTo, newpath); // 第一个文件
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom = pFrom;
sfo.pTo = pTo ;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
SHFileOperation(&sfo);
------解决方案--------------------
·FOF_NOCONFIRMATION:在出现目标文件已存在的时候,如果不设置此项,则它会出现确认是否覆盖的对话框,设置此项则自动确认,进行覆盖,不出现对话框。
------解决方案--------------------
BOOL CopyFile(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
BOOL bFailIfExists // 在目标文件存在时是否覆盖该文件
);
BOOL CopyFileEx(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
LPPROGRESS_ROUTINE lpProgressRoutine, // 回调函数
LPVOID lpData, // 传递给回调函数的参数
LPBOOL pbCancel, // 取消参数,如果在执行过程中将这个变量设为FALSE拷贝过程将会取消
DWORD dwCopyFlags // 拷贝参数
);
其中CopyFileEx可以提供一个回调函数,并且在拷贝过程中CopyFileEx会调用这个回调函数。
如何实现把一个文件夹及里面的文件一起拷贝到指定的路径目录下.如果指定目录下文件夹已经存在,不执行该操作.
------解决方案--------------------
SHFileOperation
用法参考MSDN
------解决方案--------------------
char pFrom[256];
memset(pFrom, 0x00, 256);
strcpy(pFrom, path); // 第一个文件
// CString stempto = "c:\\note ";
char pTo[256];
memset(pTo, 0x00, 256);
strcpy(pTo, newpath); // 第一个文件
SHFILEOPSTRUCT sfo;
sfo.hwnd = NULL;
sfo.wFunc = FO_COPY;
sfo.pFrom = pFrom;
sfo.pTo = pTo ;
sfo.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR;
SHFileOperation(&sfo);
------解决方案--------------------
·FOF_NOCONFIRMATION:在出现目标文件已存在的时候,如果不设置此项,则它会出现确认是否覆盖的对话框,设置此项则自动确认,进行覆盖,不出现对话框。
------解决方案--------------------
BOOL CopyFile(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
BOOL bFailIfExists // 在目标文件存在时是否覆盖该文件
);
BOOL CopyFileEx(
LPCTSTR lpExistingFileName, // 源文件名
LPCTSTR lpNewFileName, // 目标文件名
LPPROGRESS_ROUTINE lpProgressRoutine, // 回调函数
LPVOID lpData, // 传递给回调函数的参数
LPBOOL pbCancel, // 取消参数,如果在执行过程中将这个变量设为FALSE拷贝过程将会取消
DWORD dwCopyFlags // 拷贝参数
);
其中CopyFileEx可以提供一个回调函数,并且在拷贝过程中CopyFileEx会调用这个回调函数。