2016-12-05 164 views
-6

如何从我的路径获取文件夹名?从路径获取文件名

这是文件路径:

@"C:\Users\ME\Desktop\videos" 

在主路径还有,我想要得到的名称的文件夹:

@"C:\Users\ME\Desktop\videos\sample2" 
@"C:\Users\ME\Desktop\videos\sample3" 
@"C:\Users\ME\Desktop\videos\sample4" 

在样本文件夹,里面是我想要的视频得到名称:

@"C:\Users\ME\Desktop\videos\sample1\video1.mp4 

这是我的代码:

foreach(string s in Directory.GetFiles(@"C:\Users\ME\Desktop\videos").Select(Path.GetFileName)) 
{ 
    MessageBox.Show(s); 
} 

这可能吗?如何仅使用主路径获取视频/主文件夹内存在的每个文件的名称?

+3

你google一下?我发现很难相信编写这个问题比在谷歌搜索它更容易。 –

+0

先生我只使用我的主要路径获取所有文件名 – Volkswagen

+0

为什么你不离开你的循环而不使用Linq,在其中调用'Path.GetFileName()'并将结果赋值给一个变量? –

回答

0

做这个

string[] files = Directory.GetFiles(@"C:\Users\Me\Desktop\Videos", "*.mp4", SearchOption.AllDirectories) 

foreach (string file in files) 
{ 
    MessageBox.Show(Path.GetFileName(file)); 
} 

如果你想从一个完整的文件路径得到的文件夹名称,然后做到这一点

Path.GetFileName(Path.GetDirectoryName(file)) 
+0

谢谢你先生这个作品,但我想也得到我的主要路径内的文件夹名称 – Volkswagen

+0

是你的主要路径,只是做Path.GetFileName –

2

使用System.IO.Directory.GetFiles

var files = System.IO.Directory.GetFiles(
    "@"C:\Users\ME\Desktop\videos", 
    "*.mp4", 
    System.IO.SearchOption.AllDirectories)