单个文件的拷贝
system 针对单个文件
CopyFile 针对单个文件
/**
@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; 如果移动的目标目录路径或源目录路径里面带下划线
//能正常移动文件
//CString cmd;
//char buffer[MAX_PATH];
//_getcwd(buffer, MAX_PATH);
//cmd.Format("COPY %s %s ", "C:\\Users\\jack\\Desktop\\copy_from\\*.jpg", buffer);
//system(cmd);
//不可用 system仅仅支持文件对文件的拷贝
//system("COPY C:\\Users\\jack\\Desktop\\copyfrom\\*.jpg ./");//不可用,不能使用文件拷贝到目录
//不可用 system仅仅支持文件对文件的拷贝
system(
"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);
//不可用 不支持批量处理
}