/**
@file_extension egg: .txt .png**/void CopyFileToDir(CString source_dir, TCHAR* dest_dir, TCHAR* file_extension) { CString source, dest; source.Format("%s*%s", source_dir, file_extension); dest.Format("%s", dest_dir); SHFILEOPSTRUCT s; ::ZeroMemory(&s, sizeof(s)); // Initialize the structure s.hwnd = NULL; s.wFunc = FO_COPY; s.pFrom = source; s.pTo = dest; s.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR; ::SHFileOperation(&s); //可用支持批量处理拷贝,支持单个文件拷贝, //如果拷贝的目标目录路径或源目录路径里面带下划线,不能正常拷贝,不知道为什么?? //s.wFunc = FO_MOVE; 如果移动的目标目录路径或源目录路径里面带下划线
//能正常移动文件
"COPY
C:\\Users\\jack\\Desktop\\copyfrom\\1345233921.jpg
C:\\Users\\jack\\Desktop\\copyfrom\\xxxxxxxxxxxxxxxxxxxx.jpg");
//可用 system支持文件对文件的拷贝system("COPY
C:\\Users\\jack\\Desktop\\copy_from\\1345233921.jpg
C:\\Users\\jack\\Desktop\\copy_from\\xxxxxxxxxxxxxxxxxxxx.jpg");
//可用 支持带下划线的目录拷贝
bool bFailIfExists=false; CopyFile("C:\\Users\\jack\\Desktop\\copyfrom\\1345233921.jpg",
"C:\\Users\\jack\\Desktop\\copyfrom\\xxxxxxxxxxxxxxxxxxxx.jpg", bFailIfExists);
//可用 CopyFile只针对文件对文件的处理,不支持批量导入 CopyFile("C:\\Users\\jack\\Desktop\\copyfrom\\1345233921.jpg", "./xxxxxxxxxxxx.jpg", bFailIfExists); //可用 CopyFile只针对文件对文件的处理,支持当前目录 不支持批量导入 bool bFailIfExists=false;CopyFile("C:\\Users\\jack\\Desktop\\copy_from\\1345233921.jpg", "C:\\Users\\jack\\Desktop\\copy_from\\xxxxxxxxxxxxxxxxxxxx.jpg", bFailIfExists);
//可用 支持带下划线的目录拷贝
//CopyFile("C:\\Users\\jack\\Desktop\\copyfrom\\1345233921.jpg", "./", bFailIfExists); //不可用 不支持文件对目录 //CopyFile("C:\\Users\\jack\\Desktop\\copyfrom\\*.jpg", "./xxxxxxxxxxxx.jpg", bFailIfExists); //不可用 不支持批量处理}来源: