获取文件或是文件夹的大小和占用空间
2016-01-20 16:22
579 查看
//Get size of a whole dir //return bytes DWORD64 GetFolderSize(LPCTSTR szPath, DWORD *dwFiles, DWORD *dwFolders) { TCHAR szFileFilter[512]; TCHAR szFilePath[512]; HANDLE hFind = NULL; WIN32_FIND_DATA fileinfo; DWORD64 dwSize = 0; strcpy(szFilePath,szPath); strcat(szFilePath,"\"); strcpy(szFileFilter,szFilePath); strcat(szFileFilter,"*.*"); hFind = FindFirstFile(szFileFilter,&fileinfo); do { if(fileinfo.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (!strcmp(fileinfo.cFileName,".") || !strcmp(fileinfo.cFileName,"..")) { //Do nothing for "." and ".." folders } else { TCHAR sztmp[512]; strcpy(sztmp,szFilePath); strcat(sztmp,fileinfo.cFileName); dwSize = dwSize + GetFolderSize(sztmp); if(dwFolders != NULL) { ++(*dwFolders); } } } else { if(dwFiles != NULL) { ++(*dwFiles); } } dwSize += fileinfo.nFileSizeLow; }while(FindNextFile(hFind,&fileinfo)); FindClose(hFind); return dwSize; }
相关文章推荐
- linux服务器查看redis版本:
- 阿里巴巴的datasource
- Android USB HOST通信
- HTML5实现简单图片上传所遇到的问题及解决办法
- UI基础__UICollectionView__瀑布流
- 命令中运行jar文件
- struts配置文件的formbean
- go的学习记录(一)
- Spring整合JMS(一)——基于ActiveMQ实现
- Android官方文档翻译-guide-储存选择
- JSP 概述
- json转javascript对象
- wifi driver install
- spring jdbcTemplate 做持久层 并对其进行优化
- linux如何进入图形界面
- Nginx&Apache&PHP参数汇总
- Android 四大组件详解(一) Activity
- Android5.0材料设计(三)
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下
- 在 pythonanywhere 上搭建 django 程序(Virtualenv+python2.7+django1.8)