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;
}
vc递归删除文件夹
最新推荐文章于 2023-03-13 12:47:40 发布