C# 计算文件夹中文件夹和文件的总数
我有一个目录。在此目录中,它包含9个文件夹(子目录)。每个文件夹(子目录)包含数量可变的文件夹(子目录),并且在(子目录)中还包含一些文件夹…以此类推。。。。我尝试过这个方法,但我不知道如何扩展它,因为子目录的数量是可变的C# 计算文件夹中文件夹和文件的总数,c#,winforms,C#,Winforms,我有一个目录。在此目录中,它包含9个文件夹(子目录)。每个文件夹(子目录)包含数量可变的文件夹(子目录),并且在(子目录)中还包含一些文件夹…以此类推。。。。我尝试过这个方法,但我不知道如何扩展它,因为子目录的数量是可变的 public static long GetDirectoryNumberOfFiles(string directory, bool includeSubDir) { long numberFiles = Direct
public static long GetDirectoryNumberOfFiles(string directory, bool includeSubDir)
{
long numberFiles = Directory.GetFiles(@directory).Length;
string[] subfolderEntries = Directory.GetDirectories(directory);//result 9
//i tried this, but without luck.
var dirInfo =new DirectoryInfo(directory);
int dirCount = dirInfo.GetDirectories().Length;//result 9
if (includeSubDir)
{
for (int i = 0; i < subfolderEntries.Count(); i++)
{ numberFiles += Directory.GetFiles(subfolderEntries[i]).Length; }//result 38
}
return numberFiles;
}
public静态长GetDirectoryNumberOfFiles(字符串目录,bool includeSubDir)
{
long numberFiles=Directory.GetFiles(@Directory).Length;
string[]subfolderEntries=Directory.GetDirectories(Directory);//结果9
//我试过了,但运气不好。
var dirInfo=新目录信息(目录);
int dirCount=dirInfo.GetDirectories().Length;//结果9
如果(包括subdir)
{
对于(int i=0;i
当我右键单击该目录时,它包含23026个文件和440个文件夹。但通过这种方法,我得到了38个文件和9个文件夹。我知道它只计算子目录,而不是目录中的所有文件夹。使用枚举目录(字符串, 搜索选项),枚举文件(字符串, 搜索选项)以及系统目录和系统文件方法(如果需要)请尝试此操作
public static long GetDirectoryNumberOfFiles(string directory, bool includeSubDir)
{
long numberFiles = Directory.GetFiles(@directory).Length;
string[] subfolderEntries = Directory.GetDirectories(directory);//result 9
//i tried this, but without luck.
var dirInfo =new DirectoryInfo(directory);
int dirCount = dirInfo.GetDirectories().Length;//result 9
if (includeSubDir)
{
for (int i = 0; i < subfolderEntries.Count(); i++)
{ numberFiles += Directory.GetFiles(subfolderEntries[i]).Length; }//result 38
}
return numberFiles;
}
int directoryCount = Directory.GetDirectories("yourpath", "*", SearchOption.AllDirectories).Length;
int fileCount = Directory.GetFiles("yourpath", "*", SearchOption.AllDirectories).Length;
在这里使用SearchOption很重要。有关更多信息,请参见MSDN也请查看此问题: