【发布时间】:2011-08-19 13:48:27
【问题描述】:
我正在寻找一种好方法来查找所有内容为 500k 或更少的文件夹。我认为这涉及递归地转到层次结构中的最低文件夹,然后“向上阅读”以获得总大小。感谢所有想法(如果我真的需要,可以使用 .NET 框架或 PowerShell),谢谢。
【问题讨论】:
我正在寻找一种好方法来查找所有内容为 500k 或更少的文件夹。我认为这涉及递归地转到层次结构中的最低文件夹,然后“向上阅读”以获得总大小。感谢所有想法(如果我真的需要,可以使用 .NET 框架或 PowerShell),谢谢。
【问题讨论】:
这可以帮助你。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace GetDirectorySize
{
class Program
{
static void Main(string[] args)
{
long maxFolderSizeInBytes = 20000000;
foreach (var directory in Directory.GetDirectories(@"C:\Projects\Visual Studio 2010\"))
{
string[] a = Directory.GetFiles(directory, "*.*");
long i = 0;
foreach (string name in a)
{
FileInfo info = new FileInfo(name);
i += info.Length;
}
if (i <= maxFolderSizeInBytes)
{
Console.WriteLine(directory);
}
}
Console.ReadLine();
}
}
}
【讨论】: