void CopyFolder(AnsiString srcPath, AnsiString aimPath)
{
TSearchRec sr;
if (!DirectoryExists(srcPath)){
return ;
}
if (!DirectoryExists(aimPath)){
ForceDirectories(aimPath);
}
if (FindFirst(srcPath + "//*.*", faAnyFile, sr) == 0){
do{
try{
if ((sr.Attr & faDirectory) != 0){ //folder
if (sr.Name != "." && sr.Name != ".."){
CopyFolder(srcPath+"//"+sr.Name, aimPath+"//"+sr.Name);
}
}else { //file
CopyFile((srcPath + "//" + sr.Name).c_str(), (aimPath + "//" + sr.Name).c_str(), 0);
}
}catch(...){}
} while (FindNext(sr) == 0);
FindClose(sr);
}
}
递归copy。
本文介绍了一个使用递归方法实现的文件夹复制函数。该函数能够遍历源目录及其所有子目录,并将它们完整地复制到目标位置。通过判断文件属性来区分文件和文件夹,确保复制过程的准确性。
3万+

被折叠的 条评论
为什么被折叠?



