递归调用删除文件夹及文件夹下所有内容
2006-06-21 11:23
387 查看
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;
}
{
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;
}
相关文章推荐
- java通过递归调用删除文件夹下所有文件
- Java中通过递归调用删除文件夹下所有文件
- android典型代码系列(十二)------删除某个文件夹里面的所有内容(递归)
- java调用cmd命令删除文件夹及其所有内容
- 递归 删除 某个文件夹 下所有的内容,包括子文件夹
- Java中通过递归调用删除文件夹下所有文件
- java单个文件复制,递归删除、复制目录下所有内容,递归创建文件夹,.7z文件解压等
- 递归删除一个文件夹中的所有内容
- 删除文件夹(递归调用删除所有子文件夹及文件)
- JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)<转>
- JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
- 递归删除指定目录下的指定文件夹及其所有文件
- asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
- 利用递归打印出文件夹以及所有子文件夹的内容
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- Java小段子-File对象递归删除目录下所有内容
- CFileFind删除过期的文件夹下的所有内容
- Python_删除/创建指定目录及其下所有子目录的文件,该文件记录当前文件夹的内容
- java 删除文件夹中的所有内容而不删除文件夹本身
- 递归删除一个文件夹下的所有文件c#代码