Question: I have a filepath say "C:\hello\hi\dotnet\abc.txt". I just want the directories from the path.

Expected Output :

```
hello
hi
dotnet

```

I have used `Path.DirectorySeparatorChar` but it doesn't work.So help me out to solve this problem.

Answer: 
You can use this function

```
IEnumerable<string> GetDirectories(string path)
{                        
    DirectoryInfo di = new DirectoryInfo(path);

    yield return di.Name;
    if (di.Parent == null)
       yield break;
    foreach (var dir in GetDirectories(di.Parent.FullName))
    {
       yield return dir;
    }           
}

```

using:

```
string path = Assembly.GetExecutingAssembly().Location;
foreach(var dir in GetDirectories(path).Reverse())
      Console.WriteLine(dir);

```
You Can Do 

```
string filePath="C:\\DocumentsAndSettings\\Users\\Xyz\\Downloads\\abc.txt";
filePath=Path.GetFullPath(filePath);
var split =filePath.Split('\\');
var sp = split.Take(split.Length - 1);
foreach ( var st in sp)
{
     Console.WriteLine(st);
}

```