首页 > 代码库 > vc关于文件拷贝

vc关于文件拷贝

单个文件的拷贝

 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);
//不可用 不支持批量处理

 

}

 

vc关于文件拷贝