获取文件夹大小的函数-已在VC验证

2016-02-19 21:05 45 1 收藏

有了下面这个获取文件夹大小的函数-已在VC验证教程,不懂获取文件夹大小的函数-已在VC验证的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

//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;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

 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;
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1625219.html

延伸阅读
标签: ASP
需要引用命名空间: /// <summary   /// 拷贝文件夹(包括子文件夹)到指定文件夹下, 源文件夹和目标文件夹均需绝对路径 . 格式: CopyFolder(源文件夹,目标文件夹);   /// </summary   /// <param name="strFromPath"</param   /// <param name="strToPath"</param   //--...
iphone文件夹管理 文件夹创建时iOS4.0推出的新功能,可整理主屏幕上的图标,最多可以将 12 个图标放入一个文件夹中。当创建文件夹时,iPhone 会自动根据用来创建该文件夹的初始图标给该文件夹命名。 tuLaoShi.com已经创建好的文件夹 不过,随时都可以根据需要更改名称。类似于单个图标,文件夹可以重新排列,方法是在主屏幕...
标签: 电脑入门
问:为什么我无法删除一个文件夹,并提示目录不是空的,文件夹无法删除,这是什么意思??我该怎么办?? 相关问题: 无法删除空的文件夹 文件夹无法删除怎么办 空文件夹无法删除 无法删除的文件夹 回答: 无法删除文件的解决办法 有时候我们在删除某个文件或文件夹时,系统提示无法删除,这确定令人十分头疼,现在我们就来看看解决...
标签: ASP
      FSO中有个方法是CreateFolder,但是这个方法只能在其上一级文件夹存在的情况下创建新的文件夹,所以我就写了一个自动创建多级文件夹的函数,在生成静态页面等方面使用非常方便. 函数:   ' -------------------------------- ' 自动创建指定的多级文件夹 ' strPath为绝对路径 ' 引用请保留版权 ' by im286_Anjer...
//删除文件夹目录(非空) bool DeleteDirectory(char* sDirName) {     CFileFind tempFind;     char sTempFileFind[200] ;         sprintf(sTempFileFind,"%s*.*",sDirName);     BOOL IsFinded = tempFind.FindFile(sTempFileFind);    ...

经验教程

49

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部