如题。

解决方案 »

  1.   

    double directorySize = 0;
            DirectoryInfo di = new DirectoryInfo(path);
            foreach (FileInfo f in di.GetFiles())
            {
                directorySize+=f.Length;
            }
      

  2.   

    可以用Windows自带的磁盘配额功能...
    只能在磁盘根目录上设置
      

  3.   

    double directorySize = 0;
            DirectoryInfo di = new DirectoryInfo(path);
            foreach (FileInfo f in di.GetFiles())
            {
                directorySize+=f.Length;
            }
    漏了子目录
    我查找Msdn发现是
    using System.IO;
    private long GetDirSize(DirectoryInfo di)
    {
        long lSize = 0;
        FileInfo[] AllFile = di.GetFiles();
        foreach (FileInfo OneFile in AllFile);
            lSize += OneFile.Length;
        DirectoryInfo[] AllSubDir = diAll.GetDirectories();
        foreach (DirectoryInfo OneSubDir in AllSubDir)
            lSize += GetDirSize(OneSubDir);
        Return (lSize);
    }
    以上代码只是读取文件夹的大小,无法设置文件夹的大小(文件夹的大小是由里面的所有的文件的大小确定的)
      

  4.   

    DirectoryInfo[] AllSubDir = diAll.GetDirectories();//这行错了
    应该是DirectoryInfo[] AllSubDir = di.GetDirectories();