bool DeleteDirectory(CString& DirName)
{
// 匹配格式为*.*,即该目录下的所有文件
CString szDeletePath;
szDeletePath.Format(_T("%s//*.*"), DirName);
WIN32_FIND_DATA FindFileData;
ZeroMemory(&FindFileData, sizeof(WIN32_FIND_DATA));
HANDLE hFile = FindFirstFile(szDeletePath, &FindFileData);
do
{
// 排除'.'目录和'..'目录
if (0 == _tcscmp(FindFileData.cFileName, _T(".")) || 0 == _tcscmp(FindFileData.cFileName, _T("..")))
{
continue;
}
CString strFileName;
strFileName.Format(_T("%s//%s"), DirName, FindFileData.cFileName);
if( IsDirectory(strFileName)) //如果是目录,则递归地调用
{
DeleteDirectory(strFileName);
}
else
{
DeleteFile(strFileName);
}
}
while(FindNextFile(hFile, &FindFileData));
FindClose(hFile);
RemoveDirectory(DirName);
return true;
}
递归删除文件夹目录下所有文件
猜你喜欢
转载自blog.csdn.net/wizardtoh/article/details/50325903
今日推荐
周排行