void RemoveTree(CString strParent) //递归函数
{
CString strTmp;
CFileFind f;
BOOL bFind = f.FindFile(strParent + "*.*");
while(bFind)
{
bFind = f.FindNextFile();
if(f.IsDots()) continue; //文件名为"."或".."的文件夹
if(f.IsDirectory()) //文件夹
{
strTmp = strParent + f.GetFileName() + "//";
RemoveTree(strTmp);
if(!RemoveDirectory(strTmp))
{
printf("remove directory %s fial./n",strTmp.GetBuffer(0));
}
}
else //文件
{
strTmp = strParent + f.GetFileName();
if(!DeleteFile(strTmp))
{
printf("delete file %s fial./n",strTmp.GetBuffer(0));
}
}
}
}
void RemoveDirAndContent(CString strDir)
{
RemoveTree(strDir);
if (!RemoveDirectory(strDir))
{
printf("remove directory %s fial./n",strDir.GetBuffer(0));
}
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
CString strCurtDir;
GetCurrentDirectory(_MAX_PATH,strCurtDir.GetBuffer(_MAX_PATH));
strCurtDir.ReleaseBuffer();
RemoveDirAndContent(strCurtDir + "//test//");
return 0;
}