I have the multiple level path of a filename, and I want to pull out just the immediate parent directory name of this file.

Example: Filename = "c:\temp\extra\test\myfile.txt"
How can I get "test" from this string ?

Thanks in advance

Recommended Answers

All 5 Replies

Answered it myself... learned how to use String.Split("\\")


Solved myself

What I was trying to do was dynamically build a menu item for each
langauge that was added to the application. Each language gets is own directory example: en-US, ar-QA, ...
I needed to make sure I had the resource dll in the directory, then determine its name by using the hosting directory. Pass that name to CulturInfo, and build the menu.
The Code snip below was used to populate a combobox, and a version of this used to create my menu items.

string langcode = "";
string startpath = Application.StartupPath;
foreach (string d in Directory.GetDirectories(@startpath))
foreach (string f in Directory.GetFiles(d, "Foo.resources.dll"))
string[] pathparts = d.Split('\\');
int ipaths = pathparts.GetUpperBound(0);
langcode = pathparts[ipaths];
CultureInfo ci = new CultureInfo(langcode);
cbDefaultLangauge.Items.Add(ci.NativeName+ " ("+ci.EnglishName+"):"+langcode);

Thats pretty cool jerry. Thanks for posting your resuts.

This is more portable and robust.

string fileName = "C:\someDir\someFile.txt";
string directoryName = Directory.GetParent(fileName).FullName;
commented: Don't bump old threads -1

I think, this is what you need
C# Syntax (Toggle Plain Text)

string fileName = "C:\someDir\someFile.txt";
string directoryName = Directory.GetParent(fileName).Name;

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.