删除文件夹目录(包括子文件夹)
来源:互联网 发布:mac 安全设置偏好 编辑:程序博客网 时间:2024/05/16 06:58
BOOL DeleteDirectory(LPCTSTR DirName)
{
CFileFind tempFind; //声明一个CFileFind类变量,以用来搜索
char tempFileFind[200]; //用于定义搜索格式
sprintf(tempFileFind,"%s//*.*",DirName);
//匹配格式为*.*,即该目录下的所有文件
BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
//查找第一个文件
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile(); //递归搜索其他的文件
if(!tempFind.IsDots()) //如果不是"."目录
{
char foundFileName[200];
strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
if(tempFind.IsDirectory()) //如果是目录,则递归地调用
{
//DeleteDirectory
char tempDir[200];
sprintf(tempDir,"%s//%s",DirName,foundFileName);
DeleteDirectory(tempDir);
}
else
{
//如果是文件则直接删除之
char tempFileName[200];
sprintf(tempFileName,"%s//%s",DirName,foundFileName);
DeleteFile(tempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(DirName)) //删除目录
{
AfxMessageBox("删除目录失败!",MB_OK);
return FALSE;
}
return TRUE;
}
方法二:(不使用MFC,在WTL/ATL中)
#ifdef INVALID_HANDLE_VALUE
#undef INVALID_HANDLE_VALUE
#define INVALID_HANDLE_VALUE ((HANDLE)((LONG_PTR)-1))
#endif
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
int DeleteDirectory(wchar_t* RemovePath)
{
if(RemovePath == NULL)
return 0;
if(wcslen(RemovePath) > (MAX_PATH - 5))
return 0;
wchar_t pcRoot[MAX_PATH+1]; //this dir
wchar_t pcTemp[MAX_PATH+1]; //this dir with "*.*" appended
_tcscpy(pcRoot,RemovePath);
int n;
n = wcslen(pcRoot);
if(pcRoot[n-1]!='//')
{
pcRoot[n] = '//';
n++;
pcRoot[n] = '/0';
}
_tcscpy(pcTemp,pcRoot);
wcscat(pcTemp,_T("*.*"));
WIN32_FIND_DATA f;
LPWIN32_FIND_DATA pf;
pf = (LPWIN32_FIND_DATA)&f;
HANDLE h;
h = FindFirstFile(pcTemp,pf);
if(h==INVALID_HANDLE_VALUE)
return 0;
BOOL b;
b = TRUE;
while(b)
{
if(wcscmp(f.cFileName,_T("."))==0 || wcscmp(f.cFileName,_T(".."))==0)
{
b = FindNextFile(h,pf);
continue;
}
wcscpy(pcTemp,pcRoot);
wcscat(pcTemp,f.cFileName);
if(f.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
DeleteDirectory(pcTemp);
_wrmdir(pcTemp);
}
else
DeleteFile(pcTemp);
b = FindNextFile(h,pf);
}
FindClose(h);
return 1;
}
- 删除文件夹目录(包括子文件夹)
- 删除文件夹,包括子文件夹、子文件,windows
- 【Linux】删除目录及其子文件夹
- 递归列出目录中的所有文件,包括子文件夹
- windows api 实现删除指定目录下的所有文件(包括子文件夹下的所有文件)
- windows api 实现删除指定目录下的所有文件(包括子文件夹下的所有文件)
- windows api 实现删除指定目录下的所有文件(包括子文件夹下的所有文件)
- windows api 实现删除指定目录下的所有文件(包括子文件夹下的所有文件)
- 删除目录,包含删除子文件夹以及其中的内容
- 删除目录,包含删除子文件夹以及其中的内容
- 删除指定文件夹下所有文件(包括子文件夹及子文件夹下的所有文件)
- 遍历文件, 包括子文件夹
- python实现读取给定文件夹下文件目录与文件信息(包括子文件夹)
- 输出某个目录下的所有文件和文件夹,包括子文件夹中的内容
- 删除文件夹及其子文件,包括只读属性的文件和文件夹
- 递归 删除 某个文件夹 下所有的内容,包括子文件夹
- 删除文件夹(目录)
- linux 批量删除目录下的文件夹,包含子文件
- javascript 在窗体和打开的非模式窗体上交互消息.javascript的动态编译原理真太伟大了
- 计算出你和另一个人的关系,准的邪门了!
- 简介使用ASP.NET访问Oracle数据库的方法
- Hibernate
- Svchost.exe服务
- 删除文件夹目录(包括子文件夹)
- [JavaScript]Event Object in FireFox and IE
- 用CMSS指令提高串口群发短信的效率
- ASP.NET编程中的十大技巧
- Winsock 完成端口模型简介
- 出租网管-每月300元!服务范围:北京地区!
- 异步IO、APC、IO完成端口、线程池与高性能服务器之三 IO完成端口
- 用完成端口开发大响应规模的Winsock应用程序
- 好书推荐