using static System.Console;
using System.Collections.Generic;
PrintParents("/test/sub");
PrintParents("/test/sub/third folder");
PrintParents("/test/sub/third folder/fourth");
PrintParents("/test/sub/third folder/fourth/fifth");
private void PrintParents(string path)
WriteLine($"Parents for: {path}");
foreach(var parent in GetParents(path))
WriteLine("[" + parent + "]");
WriteLine("End of parents");
WriteLine("--------------");
private IEnumerable<string> GetParents(string path)
var splits = path.Split('/');
.Select((folder, index) => string.Join("/", splits.Take(index + 1)))
.Where((folder, index) => index != 0 && index != splits.Count() - 1);