如何删除一个文件夹内的所有文件?
如何删除一个文件夹内的所有文件? 问题点数:20、回复次数:2Top
1 楼Joininthefun()回复于 2006-03-15 16:42:44 得分 0
Findfirst() 和 FindNext()BCB的帮助吧Top
2 楼titan_ysl(泰坦)回复于 2006-03-15 16:47:01 得分 20
这个前不久才有人贴了的。
bool DeleteDirTree(AnsiString filePath)
{
bool retVal =true;
AnsiString fileName;
WIN32_FIND_DATA foundFile;
HANDLE hFile = FindFirstFile((filePath+"\\*.*").c_str(),&foundFile);
if(hFile != INVALID_HANDLE_VALUE)
{
do
{
if(strcmp(foundFile.cFileName,".")!=0 && strcmp(foundFile.cFileName,"..")!=0)
{
fileName = filePath + "\\" + foundFile.cFileName;
if((foundFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!=0)
{
DeleteDirTree(fileName.c_str());
RemoveDirectory(fileName.c_str());
}
else
{
FileSetAttr(fileName, FileGetAttr(fileName) & !faReadOnly);
DeleteFile(fileName.c_str());
}
}
}
while(FindNextFile(hFile,&foundFile)!=0);
}
FindClose(hFile);
return retVal;
}Top




