递归删除目录下的文件及目录
在网上找了一个方法,将其部分进行了修改如下:
void myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容{
CFileFind finder;
CString path;
CString name = "";
path.Format("%s\\*.*",directory_path);
BOOL bWorking = finder.FindFile(path);
while(bWorking)
{
bWorking = finder.FindNextFile();name = finder.GetFilePath();
if ( finder.IsSystem() )
{
continue;
}
if(finder.IsDirectory() && !finder.IsDots()){//处理文件夹
name = finder.GetFilePath();
myDeleteDirectory(finder.GetFilePath()); //递归删除文件夹
RemoveDirectory(finder.GetFilePath());
}
else{//处理文件
name = finder.GetFilePath();
DeleteFile(finder.GetFilePath());
}
}
}