如何检测给定主文件夹下的所有子文件夹?

时间:2010-08-09 01:47:05

标签: c# c#-2.0 system.io.directory

假设我的路径为"c:/myapp/mainfolder/" 主文件夹中包含三个文件夹。 顺便说一句,它不需要在主文件夹下识别单独的文件。

c:/myapp/mainfolder/subfolder1/
c:/myapp/mainfolder/subfolder2/
c:/myapp/mainfolder/subfolder3/

如何输入c:/myapp/mainfoder/ 并获得输出:string[] subArrFolders = {subfolder1, subfolder2, subfolder3}

C#2.0使用。

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用Directory.GetDireatories()获取已知路径的子目录。您可以像这样使用它:

string MyPath = "c:\\myapp\\mainfolder\\";
string[] subArrFolders = IO.Directory.GetDiretories(MyPath);

答案 1 :(得分:1)

由于缺乏更好的信息,这个答案假定他要求提供子文件夹名称,而不是完整的路径名称,这就是给你的信息:

这将允许您提取叶文件夹名称:

using System;
using System.Text;
using System.IO;

namespace StackOverflow_NET
{
    class Program
    {
        static void Main(string[] args)
        {
            String path = @"C:\myapp\mainfolder";
            DirectoryInfo info = new DirectoryInfo(path);
            DirectoryInfo [] sub_directories = info.GetDirectories("*",SearchOption.AllDirectories);

            foreach (DirectoryInfo dir in sub_directories)
            {
                Console.WriteLine(dir.Name);
            }
        }
    }
}

输出:

subfolder1
subfolder2
subfolder3

这里的关键区别是DirectoryInfo类允许您通过Name属性获取叶子目录名称。