void DeleteLog(LPCTSTR sDirName, bool bRemoveBase)
{
TCHAR sTempFileFind[MAX_PATH] ;
WIN32_FIND_DATA data;
wsprintf(sTempFileFind, _T("%s\\*.*"), sDirName);
HANDLE hFinded = FindFirstFile(sTempFileFind, &data);
BOOL bOk = FALSE;
if (hFinded != INVALID_HANDLE_VALUE)
{
bOk = TRUE;
while (bOk)
{
wstring isFile = data.cFileName;
if (isFile.compare(_T(".")) && isFile.compare(_T("..")))
{//是子目录或者文件
TCHAR sTempFileName[MAX_PATH];
//拼完整文件名
wsprintf(sTempFileName,_T("%s\\%s"), sDirName, isFile.c_str());
if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{ //是个目录
DeleteLog(sTempFileName, true);
}
else
{ //是个文件
//删除文件
SetFileAttributes(sTempFileName, FILE_ATTRIBUTE_NORMAL);
bOk = ::DeleteFile(sTempFileName);
}
}
bOk = FindNextFile(hFinded, &data);
}
FindClose(hFinded);
}
//目录内容清理以后,下面就删掉目录
if (bRemoveBase)
{
SetFileAttributes(sDirName, FILE_ATTRIBUTE_NORMAL);
RemoveDirectory(sDirName);
}
}
{
TCHAR sTempFileFind[MAX_PATH] ;
WIN32_FIND_DATA data;
wsprintf(sTempFileFind, _T("%s\\*.*"), sDirName);
HANDLE hFinded = FindFirstFile(sTempFileFind, &data);
BOOL bOk = FALSE;
if (hFinded != INVALID_HANDLE_VALUE)
{
bOk = TRUE;
while (bOk)
{
wstring isFile = data.cFileName;
if (isFile.compare(_T(".")) && isFile.compare(_T("..")))
{//是子目录或者文件
TCHAR sTempFileName[MAX_PATH];
//拼完整文件名
wsprintf(sTempFileName,_T("%s\\%s"), sDirName, isFile.c_str());
if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{ //是个目录
DeleteLog(sTempFileName, true);
}
else
{ //是个文件
//删除文件
SetFileAttributes(sTempFileName, FILE_ATTRIBUTE_NORMAL);
bOk = ::DeleteFile(sTempFileName);
}
}
bOk = FindNextFile(hFinded, &data);
}
FindClose(hFinded);
}
//目录内容清理以后,下面就删掉目录
if (bRemoveBase)
{
SetFileAttributes(sDirName, FILE_ATTRIBUTE_NORMAL);
RemoveDirectory(sDirName);
}
}