get all folders in a directory c# code example

Example 1: c# list all files in a directory and subdirectory

string[] allfiles = Directory.GetFiles("path/to/dir", "*.*", SearchOption.AllDirectories);

Example 2: C# get all files in directory

//path is the path of the directory to get files from
//searchPattern is to get specific files. If you want only exe files you enter *.exe

private static IEnumerable<string> GetAllFiles(string path, string searchPattern)
        {
            return Directory.EnumerateFiles(path, searchPattern).Union(
            Directory.EnumerateDirectories(path).SelectMany(d =>
            {
                try
                {
                    return GetAllFiles(d, searchPattern);
                } catch(Exception e)
                {
                    return Enumerable.Empty<string>();
                }
            }));
        }

Example 3: get folders in directory c#

string[] folders = System.IO.Directory.GetDirectories(@"C:\My Sample Path\","*", System.IO.SearchOption.AllDirectories);

Example 4: how to get all files from folder and subfolders in c#

private IEnumerable<string> GetAllFiles(string path, string searchPattern)
  {
            return Directory.EnumerateFiles(path, searchPattern).Union(
                Directory.EnumerateDirectories(path).SelectMany(d =>
                {
                    try
                    {
                        return GetAllFiles(d, searchPattern);
                    }
                    catch (Exception)
                    {
                        return Enumerable.Empty<string>();
                    }
                }));
 }

//or special for c# and .cs files
        /*private List<string> GetAllCsFilesFromDirectory(string directory, string searchPattern)
        {
			List<string> lstFilesFound = new List<string>();
            try
            {
                foreach (string path in Directory.GetDirectories(directory))
                {
                    foreach (string item in Directory.GetFiles(path, CsharpFileExtension, SearchOption.AllDirectories))
                    {
                        lstFilesFound.Add(item);
                    }

                    GetAllCsFilesFromDirectory(path, searchPattern);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return lstFilesFound;
        }*/