0

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
Jerry

4
Contributors
5
Replies
12
Views
11 Years
Discussion Span
Last Post by Derek W
0

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);
}
}
-1

This is more portable and robust.

string fileName = "C:\someDir\someFile.txt";
string directoryName = Directory.GetParent(fileName).FullName;
Votes + Comments
Don't bump old threads
0

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

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

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.