怎样COPY一个绝对路经下的所有文件,到目标路经,大家看看. 怎样COPY一个绝对路经下的所有文件,到目标路经,大家看看.谁有例子程序,谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例子,还是自己写吧!不难给你一个思路,用CFileFind类递归出你的文件夹下所有文件再用copyfile(...)就可以了 还是用SHFileOperation比较安全些 void FileContrl(CString sFile, CString tFile){ CFileFind sfileFind; CFileFind tFileFind; BOOL bFailIfExists = 0; BOOL bExist = 1; CString dsFile, dtFile; CString fsFile, ftFile; //判断目的文件夹是否存在 if (!tFileFind.FindFile(tFile + "\\*.*")) { CreateDirectory(tFile, NULL); tFileFind.Close(); } //查找源文件 if (!sfileFind.FindFile(sFile)) { MessageBox("源文件不存在!"); return; } //如果存在文件 while(bExist) { //在应用文件操作函数之前必须调用这个函数至少一次 bExist = sfileFind.FindNextFile(); //如果是文件 if (!sfileFind.IsDirectory() && !sfileFind.IsDots()) { fsFile = sfileFind.GetFilePath(); ftFile = tFile + "\\" + sfileFind.GetFileName(); CopyFile(fsFile, ftFile, bFailIfExists); } //如果是文件夹,递归遍历整个目录 else if (!sfileFind.IsDots()) { dsFile = sfileFind.GetFilePath() + "\\*.*"; dtFile = tFile + "\\" + sfileFind.GetFileName(); CreateDirectory(dtFile, NULL); FileContrl(dsFile, dtFile); } } sfileFind.Close();}这是我实现你所说功能的代码!请参考!祝你进步! SHFILEOPSTRUCT test;ZeroMemory(&op, sizeof(test));test.wFunc = FO_COPY;test.pFrom = "c:\\temp"; //原复制目录test.pTo = "c:\\temp2"; //目标复制目录test.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_ALLOWUNDO;SHFileOperation(&test); 递归也可以但,一般本地复制的,用SHFilepOreation 就可以了。 一般本地复制的,用SHFilepOreation 就可以了。SHFilepOreation 在非本地条件下不适合吗. 给C#调用的MFC dll的编写 MSDN都没有的库,求解!!!!! MapViewOfFile的问题 如何把二进制文件当作资源来处理 如何在clistctrl的其它列(除第一列)上加入图标?(急,各位大侠多指教) 树控件当前选中项 more and more question ? 如何确定当前操作系统是9X的,还是NT的(包括2000/XP) COM+通过什么方式可以向客户端触发事件或是发送消息。 dll里面的函数调用不了? 我看到了盗版的VC8-------不知是真的假的???? 再次升星,散分~~~~~~~~~~~~~~~~~~~
给你一个思路,
用CFileFind类递归出你的文件夹下所有文件
再用copyfile(...)就可以了
{
CFileFind sfileFind;
CFileFind tFileFind;
BOOL bFailIfExists = 0;
BOOL bExist = 1;
CString dsFile,
dtFile;
CString fsFile,
ftFile;
//判断目的文件夹是否存在
if (!tFileFind.FindFile(tFile + "\\*.*"))
{
CreateDirectory(tFile, NULL);
tFileFind.Close();
} //查找源文件
if (!sfileFind.FindFile(sFile))
{
MessageBox("源文件不存在!");
return;
}
//如果存在文件
while(bExist)
{
//在应用文件操作函数之前必须调用这个函数至少一次
bExist = sfileFind.FindNextFile();
//如果是文件
if (!sfileFind.IsDirectory() && !sfileFind.IsDots())
{
fsFile = sfileFind.GetFilePath();
ftFile = tFile + "\\" + sfileFind.GetFileName();
CopyFile(fsFile, ftFile, bFailIfExists);
} //如果是文件夹,递归遍历整个目录
else if (!sfileFind.IsDots())
{
dsFile = sfileFind.GetFilePath() + "\\*.*";
dtFile = tFile + "\\" + sfileFind.GetFileName();
CreateDirectory(dtFile, NULL);
FileContrl(dsFile, dtFile);
}
} sfileFind.Close();
}这是我实现你所说功能的代码!请参考!
祝你进步!
ZeroMemory(&op, sizeof(test));
test.wFunc = FO_COPY;
test.pFrom = "c:\\temp"; //原复制目录
test.pTo = "c:\\temp2"; //目标复制目录
test.fFlags = FOF_SILENT|FOF_NOCONFIRMATION|FOF_ALLOWUNDO;
SHFileOperation(&test);
SHFilepOreation 在非本地条件下不适合吗.