Как я могу обнаружить все вложенные папки в основной папке?
Предположим, мой путь "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 ответа
Решение
Вы можете использовать Directory.GetDireatories(), чтобы получить подкаталоги известного пути. Вы можете использовать это так:
string MyPath = "c:\\myapp\\mainfolder\\";
string[] subArrFolders = IO.Directory.GetDiretories(MyPath);
Из-за отсутствия более полной информации в этом ответе предполагается, что он спросил имя подпапки, а не полный путь, что вам и даст:
Это позволит вам извлечь имя конечной папки:
using System;
using System.Text;
using System.IO;
namespace Stackru_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.