Как я могу обнаружить все вложенные папки в основной папке? - PullRequest
0 голосов
/ 09 августа 2010

Предположим, мой путь "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 ]

2 голосов
/ 09 августа 2010

Вы можете использовать Directory.GetDireatories () , чтобы получить подкаталоги известного пути. Вы можете использовать это так:

string MyPath = "c:\\myapp\\mainfolder\\";
string[] subArrFolders = IO.Directory.GetDiretories(MyPath);
1 голос
/ 09 августа 2010

Из-за отсутствия более полной информации в этом ответе предполагается, что он запросил имя подпапки, а не полный путь, что и даст вам:

Это позволит вам извлечь имя конечной папки:

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.

...