怎么扫描空文件夹
来源:互联网 发布:de castljau算法 编辑:程序博客网 时间:2024/04/29 17:06
其思路就是递归查找文件,然后判断文件夹中有无文件,如果没有文件则是空的文件夹。
效果如图:
实现代码如下:
int SearchFile(TCHAR* szPath,std::vector<std::string>& PathName){ int iFileCount = 0; //文件夹中的文件个数 WIN32_FIND_DATA windata = { 0 }; HANDLE hFile = NULL; TCHAR szPathNext[MAX_PATH]; ZeroMemory(szPathNext, sizeof(szPathNext)); sprintf(szPathNext, "%s\\*.*", szPath); hFile = FindFirstFile(szPathNext, &windata); if (hFile == INVALID_HANDLE_VALUE) return -1; do { if (windata.cFileName[0] == '.') continue; if (windata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { //这里也要进行++,因为防止递归回来的时候返回的文件个数为0,也就是说把文件夹也算作一个文件处理 //比如:C:\\temp\\1\\2\\3,1文件夹有一个2文件夹,2又有3文件夹 //3文件夹中没有任何文件,所以认定3是空文件夹,当递归回来的时候2 1 文件夹都会返回1,3则返回0. ++iFileCount; sprintf(szPathNext, "%s\\%s", szPath, windata.cFileName); //递归继续查找下一个文件夹 if (0 == SearchFile(szPathNext, PathName)) //如果文件夹中没有文件就会返回0 { PathName.push_back(szPathNext); //把空文件夹的路径保存起来 } } else { ++iFileCount;//如果是文件就++ } } while (FindNextFile(hFile, &windata)); if(hFile) FindClose(hFile); return iFileCount;}
如果想删除空文件夹的话用
BOOLRemoveDirectory
(
LPCSTR lpPathName //文件夹路径
)
0 0
- 怎么扫描空文件夹
- 空文件夹扫描工具(有缺陷)
- 扫描文件夹
- 文件夹的遍历扫描
- spring 文件夹扫描
- 扫描SD卡文件夹
- 二分查找 扫描文件夹
- 扫描删除文件夹问题
- 扫描文件夹文件
- 我不小心删除了一个文件夹没有清空回收站怎么找回
- 删除非空文件夹
- ShFileOperation清空文件夹
- delete 非空文件夹
- 文件夹删除/清空
- 判断文件夹为空
- 创建“空文件名”文件夹
- 清理空文件夹程序
- git add 空文件夹
- python爬虫之-BeautifulSoup
- 小何讲Linux: Linux系统调用及用户编程接口(API)
- 【HUSTOJ】1039: 宠物购买
- 计算机视觉目标检测的框架与过程
- springmvc源码解析(2)
- 怎么扫描空文件夹
- ODI 12C 打补丁----解决essbase和planning知识模块问题
- 测试mysql的innodb引擎的锁表
- android studio中生成aidl
- 百度云盘构建svn服务器
- 常见的一些算法
- 新导入shop++项目不能生成 Maven Dependencies目录
- HttpClient4 警告: Invalid cookie header 的问题解决
- UI切图那点事儿