C#: Need to remove last folder from file name path

c#

Solution

What you are looking for is the GetParent() method in the Directory class

string path = @"C:\Documents\MasterDocumentFolder\";
DirectoryInfo parentDir = Directory.GetParent(path);
// or possibly
DirectoryInfo parentDir = Directory.GetParent(path.EndsWith("\\") ? path : string.Concat(path, "\\"));

// The result is available here
var myParentDir = parentDir.Parent.FullName

Problem

I'm pulling a file path from a database to use as a file source. I need to remove the last folder from the source path, so I can then create new folders to use as the destination path. Example source file path: `\\\\ServerName\\Documents\\MasterDocumentFolder\\` I need to remove the last folder from that string and get this: `\\\\ServerName\\Documents\\` So I can create a folder like this: `\\\\ServerName\\Documents\\NewDocumentFolder1\\` Edit: I have updated my example paths to show why the Path.GetDirectoryName() won't work in this case.

Original source

Related problems