BOOL DeleteDirectory(LPCTSTR szDir)
{
WIN32_FIND_DATA FindFileData;
CString strTempFileFind = szDir;
strTempFileFind += _T("\\*.*");
HANDLE hFind = FindFirstFile(strTempFileFind, &FindFileData);
if(hFind == INVALID_HANDLE_VALUE)
{
DWORD err = GetLastError();
return FALSE;
}
else
{
do{
if (lstrcmp(FindFileData.cFileName, _T(".")) != 0 &&
lstrcmp(FindFileData.cFileName, _T("..")) != 0)
{
CString strFindFile = szDir;
strFindFile += "\\";
strFindFile += FindFileData.cFileName;
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
SetFileAttributes(strFindFile, FindFileData.dwFileAttributes&(~FILE_ATTRIBUTE_READONLY));
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(!DeleteDirectory(strFindFile))
{
FindClose(hFind);
return FALSE;
}
}
else
{
if(!DeleteFile(strFindFile))
{
FindClose(hFind);
return FALSE;
}
}
}
}
while(FindNextFile(hFind, &FindFileData));
}
FindClose(hFind);
return RemoveDirectory(szDir);
}
Win32下删除目录(包含文件和子文件夹)
最新推荐文章于 2021-07-08 09:17:26 发布