您的位置:首页 > 其它

vc递归删除文件夹

2015-08-06 12:11 330 查看
HRESULT FolderListCtrl::RemoveDirectoryTree(LPCTSTR Directory)
{
WIN32_FIND_DATA fd = {0};
CString curDir = Directory;
curDir += TEXT("\\*");
HRESULT hr = E_NOINTERFACE;
HANDLE hFind = FindFirstFile(curDir, &fd);
if (hFind)
{
do
{
CString FileName;
FileName.Format(TEXT("%s\\%s"), Directory, fd.cFileName);
if (lstrcmpi(fd.cFileName, TEXT(".")) == 0 || lstrcmpi(fd.cFileName, TEXT(".."))==0) continue;
if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
{
//递归删除文件
hr = RemoveDirectoryTree(FileName);
}
else
{
//删除文件
DeleteFile(FileName);
}
} while (FindNextFile(hFind,&fd));
FindClose(hFind);
//删除目录
if (RemoveDirectory(Directory)) hr = S_OK;
}
return S_OK;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: