C# read folder (names) from directory
You can use Directory.GetDirectories()
:
string[] subdirs = Directory.GetDirectories(fbd.SelectedPath);
This gives you the full paths to the subdirectories. If you only need the names of the subfolders, but not the full path, you can use Path.GetFileName()
:
string[] subdirs = Directory.GetDirectories(fbd.SelectedPath)
.Select(Path.GetFileName)
.ToArray();
Or if you want both:
var subdirs = Directory.GetDirectories(fbd.SelectedPath)
.Select(p => new {
Path = p,
Name = Path.GetFileName(p)})
.ToArray();
You need to use DirectoryInfo.GetDirectories.
using System;
using System.IO;
public class GetDirectoriesTest
{
public static void Main()
{
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("c:\\");
// Get a reference to each directory in that directory.
DirectoryInfo[] diArr = di.GetDirectories();
// Display the names of the directories.
foreach (DirectoryInfo dri in diArr)
Console.WriteLine(dri.Name);
}
}