如何计算整个文件夹大小? 有什么方法计算整个文件夹大小,但不遍历整个文件夹? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Windows浏览器也没直接显示文件夹大小看来没有直接的方法 http://topic.csdn.net/t/20020924/13/1048808.html=================================== dir size =================================== #include <iostream> #import "scrrun.dll" raw_interfaces_only int main() { CoInitialize(NULL); { try { Scripting::IFileSystem3Ptr fs; fs.CreateInstance(__uuidof(Scripting::FileSystemObject)); Scripting::IFolderPtr folder; fs->GetFolder(_bstr_t("c:\\temp"),&folder); _variant_t vsize;folder->get_Size(&vsize); std::cout<<"c:\\temp size:"<<(long)vsize<<" bytes"<<std::endl; } catch(_com_error &e) { _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); std::cout<<"Get directory size via FileSystemObject, by masterz"<<std::endl; std::cout<<"COM error occurred,source:"<<(LPCTSTR)bstrSource<<std::endl; std::cout<<"Description:"<<(LPCTSTR)bstrDescription<<std::endl; } } CoUninitialize(); return 0; } 只能遍历文件后计算,不能直接得到用右键查看文件夹属性时,如果文件很多的话,可以看到文件夹大小那个数字是不断跳动而不是直接显示的就知道windows也是通过遍历算出来的 即使是windows内部也是浏览更个文件夹来计算大小的无法直接计算文件夹大小当然返回文件夹大小倒是可以 windows好象也是用的遍历,然后累计的方法.因为当你把鼠标放在比较大的文件夹上的时候,会感到硬盘在狂响. 求助!!MFC中如何判断一个按钮已被按下??? Active控件注册的问题X 怎么在SQL-SERVER数据库里存放图片?用ADO方式 难懂的VC++ 语句 我需要取得某个月的所有记录,怎样知道这个月的最后一天是28还是30或31呢? 用StretchDIBits()函数显示24位位图时位图颜色失真? 外部程序---如何判断网页是否加载完毕 在模态对话框出现之前初始化对话框,有办法吗? 寻求图象格式转换(bmp->jpg)的源码!!!!! jsp调用C++写的DLL报错 WH_Shell 类型Hook(create事件)捕捉不到QQ启动 bmp 读显存 程序
看来没有直接的方法
===================================
dir size
===================================
#include <iostream>
#import "scrrun.dll" raw_interfaces_only
int main()
{
CoInitialize(NULL);
{
try
{
Scripting::IFileSystem3Ptr fs;
fs.CreateInstance(__uuidof(Scripting::FileSystemObject));
Scripting::IFolderPtr folder;
fs->GetFolder(_bstr_t("c:\\temp"),&folder);
_variant_t vsize;folder->get_Size(&vsize);
std::cout<<"c:\\temp size:"<<(long)vsize<<" bytes"<<std::endl;
}
catch(_com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
std::cout<<"Get directory size via FileSystemObject, by masterz"<<std::endl;
std::cout<<"COM error occurred,source:"<<(LPCTSTR)bstrSource<<std::endl;
std::cout<<"Description:"<<(LPCTSTR)bstrDescription<<std::endl;
}
}
CoUninitialize();
return 0;
}
用右键查看文件夹属性时,如果文件很多的话,可以看到文件夹大小那个数字是不断跳动而不是直接显示的就知道windows也是通过遍历算出来的
无法直接计算文件夹大小
当然返回文件夹大小倒是可以
因为当你把鼠标放在比较大的文件夹上的时候,会感到硬盘在狂响.